{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Cats-v-Dogs-Augmentation.ipynb",
      "version": "0.3.2",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "gGxCD4mGHHjG"
      },
      "source": [
        "Let's start with a model that's very effective at learning Cats v Dogs.\n",
        "\n",
        "It's similar to the previous models that you have used, but I have updated the layers definition. Note that there are now 4 convolutional layers with 32, 64, 128 and 128 convolutions respectively.\n",
        "\n",
        "Also, this will train for 100 epochs, because I want to plot the graph of loss and accuracy."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "MJPyDEzOqrKB",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 3777
        },
        "outputId": "240565e8-1c59-4fcc-c8c3-9b306b4f5d78"
      },
      "source": [
        "!wget --no-check-certificate \\\n",
        "    https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip \\\n",
        "    -O /tmp/cats_and_dogs_filtered.zip\n",
        "  \n",
        "import os\n",
        "import zipfile\n",
        "import tensorflow as tf\n",
        "from tensorflow.keras.optimizers import RMSprop\n",
        "from tensorflow.keras.preprocessing.image import ImageDataGenerator\n",
        "\n",
        "local_zip = '/tmp/cats_and_dogs_filtered.zip'\n",
        "zip_ref = zipfile.ZipFile(local_zip, 'r')\n",
        "zip_ref.extractall('/tmp')\n",
        "zip_ref.close()\n",
        "\n",
        "base_dir = '/tmp/cats_and_dogs_filtered'\n",
        "train_dir = os.path.join(base_dir, 'train')\n",
        "validation_dir = os.path.join(base_dir, 'validation')\n",
        "\n",
        "# Directory with our training cat pictures\n",
        "train_cats_dir = os.path.join(train_dir, 'cats')\n",
        "\n",
        "# Directory with our training dog pictures\n",
        "train_dogs_dir = os.path.join(train_dir, 'dogs')\n",
        "\n",
        "# Directory with our validation cat pictures\n",
        "validation_cats_dir = os.path.join(validation_dir, 'cats')\n",
        "\n",
        "# Directory with our validation dog pictures\n",
        "validation_dogs_dir = os.path.join(validation_dir, 'dogs')\n",
        "\n",
        "model = tf.keras.models.Sequential([\n",
        "    tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(150, 150, 3)),\n",
        "    tf.keras.layers.MaxPooling2D(2, 2),\n",
        "    tf.keras.layers.Conv2D(64, (3,3), activation='relu'),\n",
        "    tf.keras.layers.MaxPooling2D(2,2),\n",
        "    tf.keras.layers.Conv2D(128, (3,3), activation='relu'),\n",
        "    tf.keras.layers.MaxPooling2D(2,2),\n",
        "    tf.keras.layers.Conv2D(128, (3,3), activation='relu'),\n",
        "    tf.keras.layers.MaxPooling2D(2,2),\n",
        "    tf.keras.layers.Flatten(),\n",
        "    tf.keras.layers.Dense(512, activation='relu'),\n",
        "    tf.keras.layers.Dense(1, activation='sigmoid')\n",
        "])\n",
        "\n",
        "model.compile(loss='binary_crossentropy',\n",
        "              optimizer=RMSprop(lr=1e-4),\n",
        "              metrics=['acc'])\n",
        "\n",
        "# All images will be rescaled by 1./255\n",
        "train_datagen = ImageDataGenerator(rescale=1./255)\n",
        "test_datagen = ImageDataGenerator(rescale=1./255)\n",
        "\n",
        "# Flow training images in batches of 20 using train_datagen generator\n",
        "train_generator = train_datagen.flow_from_directory(\n",
        "        train_dir,  # This is the source directory for training images\n",
        "        target_size=(150, 150),  # All images will be resized to 150x150\n",
        "        batch_size=20,\n",
        "        # Since we use binary_crossentropy loss, we need binary labels\n",
        "        class_mode='binary')\n",
        "\n",
        "# Flow validation images in batches of 20 using test_datagen generator\n",
        "validation_generator = test_datagen.flow_from_directory(\n",
        "        validation_dir,\n",
        "        target_size=(150, 150),\n",
        "        batch_size=20,\n",
        "        class_mode='binary')\n",
        "\n",
        "history = model.fit_generator(\n",
        "      train_generator,\n",
        "      steps_per_epoch=100,  # 2000 images = batch_size * steps\n",
        "      epochs=100,\n",
        "      validation_data=validation_generator,\n",
        "      validation_steps=50,  # 1000 images = batch_size * steps\n",
        "      verbose=2)\n",
        "\n"
      ],
      "execution_count": 1,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "--2019-06-15 04:27:41--  https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip\n",
            "Resolving storage.googleapis.com (storage.googleapis.com)... 216.58.203.240, 2404:6800:4003:c04::80\n",
            "Connecting to storage.googleapis.com (storage.googleapis.com)|216.58.203.240|:443... connected.\n",
            "HTTP request sent, awaiting response... 200 OK\n",
            "Length: 68606236 (65M) [application/zip]\n",
            "Saving to: ‘/tmp/cats_and_dogs_filtered.zip’\n",
            "\n",
            "/tmp/cats_and_dogs_ 100%[===================>]  65.43M  41.6MB/s    in 1.6s    \n",
            "\n",
            "2019-06-15 04:27:43 (41.6 MB/s) - ‘/tmp/cats_and_dogs_filtered.zip’ saved [68606236/68606236]\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING: Logging before flag parsing goes to stderr.\n",
            "W0615 04:27:47.042927 140366425216896 deprecation.py:506] From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/init_ops.py:1251: calling VarianceScaling.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Call initializer instance with the dtype argument instead of passing it to the constructor\n",
            "W0615 04:27:47.257664 140366425216896 deprecation.py:323] From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/nn_impl.py:180: add_dispatch_support.<locals>.wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use tf.where in 2.0, which has the same broadcast rule as np.where\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "Found 2000 images belonging to 2 classes.\n",
            "Found 1000 images belonging to 2 classes.\n",
            "Epoch 1/100\n",
            "100/100 - 18s - loss: 0.6873 - acc: 0.5255 - val_loss: 0.6619 - val_acc: 0.5610\n",
            "Epoch 2/100\n",
            "100/100 - 13s - loss: 0.6462 - acc: 0.6140 - val_loss: 0.6220 - val_acc: 0.6530\n",
            "Epoch 3/100\n",
            "100/100 - 13s - loss: 0.5906 - acc: 0.6850 - val_loss: 0.5850 - val_acc: 0.6930\n",
            "Epoch 4/100\n",
            "100/100 - 13s - loss: 0.5566 - acc: 0.7150 - val_loss: 0.5812 - val_acc: 0.6940\n",
            "Epoch 5/100\n",
            "100/100 - 13s - loss: 0.5315 - acc: 0.7440 - val_loss: 0.6081 - val_acc: 0.6760\n",
            "Epoch 6/100\n",
            "100/100 - 13s - loss: 0.5158 - acc: 0.7465 - val_loss: 0.5459 - val_acc: 0.7150\n",
            "Epoch 7/100\n",
            "100/100 - 14s - loss: 0.4914 - acc: 0.7595 - val_loss: 0.5742 - val_acc: 0.7060\n",
            "Epoch 8/100\n",
            "100/100 - 13s - loss: 0.4664 - acc: 0.7800 - val_loss: 0.5675 - val_acc: 0.6950\n",
            "Epoch 9/100\n",
            "100/100 - 13s - loss: 0.4396 - acc: 0.7935 - val_loss: 0.5455 - val_acc: 0.7200\n",
            "Epoch 10/100\n",
            "100/100 - 13s - loss: 0.4171 - acc: 0.8040 - val_loss: 0.5567 - val_acc: 0.7110\n",
            "Epoch 11/100\n",
            "100/100 - 13s - loss: 0.3920 - acc: 0.8260 - val_loss: 0.5450 - val_acc: 0.7290\n",
            "Epoch 12/100\n",
            "100/100 - 13s - loss: 0.3687 - acc: 0.8360 - val_loss: 0.5284 - val_acc: 0.7370\n",
            "Epoch 13/100\n",
            "100/100 - 13s - loss: 0.3466 - acc: 0.8510 - val_loss: 0.5472 - val_acc: 0.7360\n",
            "Epoch 14/100\n",
            "100/100 - 13s - loss: 0.3239 - acc: 0.8630 - val_loss: 0.5611 - val_acc: 0.7420\n",
            "Epoch 15/100\n",
            "100/100 - 14s - loss: 0.3051 - acc: 0.8720 - val_loss: 0.5630 - val_acc: 0.7340\n",
            "Epoch 16/100\n",
            "100/100 - 13s - loss: 0.2788 - acc: 0.8820 - val_loss: 0.6256 - val_acc: 0.7230\n",
            "Epoch 17/100\n",
            "100/100 - 12s - loss: 0.2639 - acc: 0.8915 - val_loss: 0.5660 - val_acc: 0.7340\n",
            "Epoch 18/100\n",
            "100/100 - 13s - loss: 0.2374 - acc: 0.9145 - val_loss: 0.7039 - val_acc: 0.6990\n",
            "Epoch 19/100\n",
            "100/100 - 13s - loss: 0.2155 - acc: 0.9195 - val_loss: 0.6118 - val_acc: 0.7460\n",
            "Epoch 20/100\n",
            "100/100 - 13s - loss: 0.2030 - acc: 0.9290 - val_loss: 0.6189 - val_acc: 0.7330\n",
            "Epoch 21/100\n",
            "100/100 - 14s - loss: 0.1810 - acc: 0.9365 - val_loss: 0.6811 - val_acc: 0.7320\n",
            "Epoch 22/100\n",
            "100/100 - 13s - loss: 0.1648 - acc: 0.9430 - val_loss: 0.8275 - val_acc: 0.7090\n",
            "Epoch 23/100\n",
            "100/100 - 13s - loss: 0.1548 - acc: 0.9490 - val_loss: 0.6264 - val_acc: 0.7440\n",
            "Epoch 24/100\n",
            "100/100 - 13s - loss: 0.1365 - acc: 0.9525 - val_loss: 0.6388 - val_acc: 0.7420\n",
            "Epoch 25/100\n",
            "100/100 - 13s - loss: 0.1215 - acc: 0.9605 - val_loss: 0.7731 - val_acc: 0.7340\n",
            "Epoch 26/100\n",
            "100/100 - 13s - loss: 0.1068 - acc: 0.9670 - val_loss: 0.6805 - val_acc: 0.7460\n",
            "Epoch 27/100\n",
            "100/100 - 13s - loss: 0.0912 - acc: 0.9705 - val_loss: 0.7439 - val_acc: 0.7550\n",
            "Epoch 28/100\n",
            "100/100 - 13s - loss: 0.0771 - acc: 0.9780 - val_loss: 0.6952 - val_acc: 0.7450\n",
            "Epoch 29/100\n",
            "100/100 - 14s - loss: 0.0688 - acc: 0.9815 - val_loss: 0.7401 - val_acc: 0.7450\n",
            "Epoch 30/100\n",
            "100/100 - 13s - loss: 0.0532 - acc: 0.9885 - val_loss: 1.0270 - val_acc: 0.7100\n",
            "Epoch 31/100\n",
            "100/100 - 13s - loss: 0.0515 - acc: 0.9870 - val_loss: 0.7731 - val_acc: 0.7570\n",
            "Epoch 32/100\n",
            "100/100 - 13s - loss: 0.0437 - acc: 0.9905 - val_loss: 0.8825 - val_acc: 0.7540\n",
            "Epoch 33/100\n",
            "100/100 - 13s - loss: 0.0391 - acc: 0.9895 - val_loss: 0.8490 - val_acc: 0.7540\n",
            "Epoch 34/100\n",
            "100/100 - 14s - loss: 0.0344 - acc: 0.9920 - val_loss: 0.8477 - val_acc: 0.7640\n",
            "Epoch 35/100\n",
            "100/100 - 13s - loss: 0.0308 - acc: 0.9905 - val_loss: 0.8791 - val_acc: 0.7630\n",
            "Epoch 36/100\n",
            "100/100 - 13s - loss: 0.0240 - acc: 0.9940 - val_loss: 0.9064 - val_acc: 0.7660\n",
            "Epoch 37/100\n",
            "100/100 - 13s - loss: 0.0227 - acc: 0.9940 - val_loss: 0.9347 - val_acc: 0.7610\n",
            "Epoch 38/100\n",
            "100/100 - 13s - loss: 0.0189 - acc: 0.9955 - val_loss: 1.0316 - val_acc: 0.7420\n",
            "Epoch 39/100\n",
            "100/100 - 13s - loss: 0.0204 - acc: 0.9955 - val_loss: 1.1375 - val_acc: 0.7320\n",
            "Epoch 40/100\n",
            "100/100 - 13s - loss: 0.0192 - acc: 0.9940 - val_loss: 1.1010 - val_acc: 0.7460\n",
            "Epoch 41/100\n",
            "100/100 - 13s - loss: 0.0182 - acc: 0.9935 - val_loss: 0.9856 - val_acc: 0.7600\n",
            "Epoch 42/100\n",
            "100/100 - 13s - loss: 0.0185 - acc: 0.9945 - val_loss: 0.9996 - val_acc: 0.7680\n",
            "Epoch 43/100\n",
            "100/100 - 13s - loss: 0.0166 - acc: 0.9975 - val_loss: 1.0948 - val_acc: 0.7600\n",
            "Epoch 44/100\n",
            "100/100 - 13s - loss: 0.0101 - acc: 0.9980 - val_loss: 1.0729 - val_acc: 0.7600\n",
            "Epoch 45/100\n",
            "100/100 - 14s - loss: 0.0160 - acc: 0.9950 - val_loss: 1.1492 - val_acc: 0.7630\n",
            "Epoch 46/100\n",
            "100/100 - 13s - loss: 0.0081 - acc: 0.9970 - val_loss: 1.2108 - val_acc: 0.7620\n",
            "Epoch 47/100\n",
            "100/100 - 13s - loss: 0.0174 - acc: 0.9945 - val_loss: 1.2166 - val_acc: 0.7620\n",
            "Epoch 48/100\n",
            "100/100 - 13s - loss: 0.0131 - acc: 0.9950 - val_loss: 1.1827 - val_acc: 0.7640\n",
            "Epoch 49/100\n",
            "100/100 - 13s - loss: 0.0105 - acc: 0.9965 - val_loss: 1.2520 - val_acc: 0.7570\n",
            "Epoch 50/100\n",
            "100/100 - 13s - loss: 0.0119 - acc: 0.9975 - val_loss: 1.3675 - val_acc: 0.7520\n",
            "Epoch 51/100\n",
            "100/100 - 13s - loss: 0.0065 - acc: 0.9970 - val_loss: 1.2803 - val_acc: 0.7550\n",
            "Epoch 52/100\n",
            "100/100 - 13s - loss: 0.0076 - acc: 0.9970 - val_loss: 1.3581 - val_acc: 0.7530\n",
            "Epoch 53/100\n",
            "100/100 - 13s - loss: 0.0085 - acc: 0.9980 - val_loss: 1.3068 - val_acc: 0.7640\n",
            "Epoch 54/100\n",
            "100/100 - 13s - loss: 0.0044 - acc: 0.9980 - val_loss: 1.3741 - val_acc: 0.7510\n",
            "Epoch 55/100\n",
            "100/100 - 13s - loss: 0.0059 - acc: 0.9985 - val_loss: 1.3863 - val_acc: 0.7670\n",
            "Epoch 56/100\n",
            "100/100 - 13s - loss: 0.0042 - acc: 0.9990 - val_loss: 1.3460 - val_acc: 0.7660\n",
            "Epoch 57/100\n",
            "100/100 - 13s - loss: 0.0079 - acc: 0.9985 - val_loss: 1.3542 - val_acc: 0.7530\n",
            "Epoch 58/100\n",
            "100/100 - 13s - loss: 0.0080 - acc: 0.9970 - val_loss: 1.4323 - val_acc: 0.7650\n",
            "Epoch 59/100\n",
            "100/100 - 13s - loss: 0.0027 - acc: 0.9990 - val_loss: 1.3904 - val_acc: 0.7710\n",
            "Epoch 60/100\n",
            "100/100 - 13s - loss: 0.0133 - acc: 0.9940 - val_loss: 1.4834 - val_acc: 0.7690\n",
            "Epoch 61/100\n",
            "100/100 - 13s - loss: 0.0062 - acc: 0.9980 - val_loss: 1.4547 - val_acc: 0.7570\n",
            "Epoch 62/100\n",
            "100/100 - 14s - loss: 0.0069 - acc: 0.9970 - val_loss: 1.5233 - val_acc: 0.7540\n",
            "Epoch 63/100\n",
            "100/100 - 13s - loss: 0.0017 - acc: 0.9995 - val_loss: 1.5397 - val_acc: 0.7660\n",
            "Epoch 64/100\n",
            "100/100 - 13s - loss: 0.0128 - acc: 0.9965 - val_loss: 1.4876 - val_acc: 0.7580\n",
            "Epoch 65/100\n",
            "100/100 - 13s - loss: 0.0052 - acc: 0.9995 - val_loss: 1.4606 - val_acc: 0.7510\n",
            "Epoch 66/100\n",
            "100/100 - 13s - loss: 0.0064 - acc: 0.9980 - val_loss: 1.6427 - val_acc: 0.7590\n",
            "Epoch 67/100\n",
            "100/100 - 13s - loss: 0.0092 - acc: 0.9970 - val_loss: 1.5074 - val_acc: 0.7590\n",
            "Epoch 68/100\n",
            "100/100 - 13s - loss: 0.0055 - acc: 0.9980 - val_loss: 1.6227 - val_acc: 0.7670\n",
            "Epoch 69/100\n",
            "100/100 - 13s - loss: 0.0105 - acc: 0.9970 - val_loss: 1.5815 - val_acc: 0.7620\n",
            "Epoch 70/100\n",
            "100/100 - 13s - loss: 2.4040e-04 - acc: 1.0000 - val_loss: 1.5903 - val_acc: 0.7620\n",
            "Epoch 71/100\n",
            "100/100 - 13s - loss: 0.0104 - acc: 0.9990 - val_loss: 1.6168 - val_acc: 0.7580\n",
            "Epoch 72/100\n",
            "100/100 - 13s - loss: 0.0132 - acc: 0.9965 - val_loss: 1.6102 - val_acc: 0.7610\n",
            "Epoch 73/100\n",
            "100/100 - 13s - loss: 0.0037 - acc: 0.9985 - val_loss: 1.5999 - val_acc: 0.7690\n",
            "Epoch 74/100\n",
            "100/100 - 13s - loss: 0.0080 - acc: 0.9985 - val_loss: 1.7889 - val_acc: 0.7520\n",
            "Epoch 75/100\n",
            "100/100 - 13s - loss: 1.1451e-04 - acc: 1.0000 - val_loss: 1.7275 - val_acc: 0.7660\n",
            "Epoch 76/100\n",
            "100/100 - 13s - loss: 0.0066 - acc: 0.9970 - val_loss: 1.7544 - val_acc: 0.7640\n",
            "Epoch 77/100\n",
            "100/100 - 13s - loss: 0.0081 - acc: 0.9975 - val_loss: 1.6484 - val_acc: 0.7720\n",
            "Epoch 78/100\n",
            "100/100 - 13s - loss: 0.0039 - acc: 0.9980 - val_loss: 1.6934 - val_acc: 0.7680\n",
            "Epoch 79/100\n",
            "100/100 - 13s - loss: 6.5683e-05 - acc: 1.0000 - val_loss: 1.7300 - val_acc: 0.7600\n",
            "Epoch 80/100\n",
            "100/100 - 13s - loss: 0.0052 - acc: 0.9985 - val_loss: 1.7910 - val_acc: 0.7530\n",
            "Epoch 81/100\n",
            "100/100 - 13s - loss: 0.0080 - acc: 0.9985 - val_loss: 1.8307 - val_acc: 0.7500\n",
            "Epoch 82/100\n",
            "100/100 - 13s - loss: 0.0033 - acc: 0.9990 - val_loss: 1.8811 - val_acc: 0.7490\n",
            "Epoch 83/100\n",
            "100/100 - 13s - loss: 4.8197e-05 - acc: 1.0000 - val_loss: 1.9938 - val_acc: 0.7490\n",
            "Epoch 84/100\n",
            "100/100 - 14s - loss: 0.0058 - acc: 0.9980 - val_loss: 1.9741 - val_acc: 0.7410\n",
            "Epoch 85/100\n",
            "100/100 - 13s - loss: 0.0025 - acc: 0.9990 - val_loss: 1.9368 - val_acc: 0.7600\n",
            "Epoch 86/100\n",
            "100/100 - 13s - loss: 0.0030 - acc: 0.9985 - val_loss: 1.8721 - val_acc: 0.7710\n",
            "Epoch 87/100\n",
            "100/100 - 13s - loss: 0.0083 - acc: 0.9970 - val_loss: 1.8559 - val_acc: 0.7640\n",
            "Epoch 88/100\n",
            "100/100 - 13s - loss: 0.0040 - acc: 0.9995 - val_loss: 1.8582 - val_acc: 0.7560\n",
            "Epoch 89/100\n",
            "100/100 - 13s - loss: 0.0067 - acc: 0.9985 - val_loss: 1.7975 - val_acc: 0.7650\n",
            "Epoch 90/100\n",
            "100/100 - 13s - loss: 0.0020 - acc: 0.9995 - val_loss: 1.8382 - val_acc: 0.7490\n",
            "Epoch 91/100\n",
            "100/100 - 12s - loss: 0.0021 - acc: 0.9995 - val_loss: 1.8951 - val_acc: 0.7580\n",
            "Epoch 92/100\n",
            "100/100 - 13s - loss: 1.4837e-04 - acc: 1.0000 - val_loss: 1.9079 - val_acc: 0.7670\n",
            "Epoch 93/100\n",
            "100/100 - 12s - loss: 0.0056 - acc: 0.9985 - val_loss: 1.9054 - val_acc: 0.7520\n",
            "Epoch 94/100\n",
            "100/100 - 13s - loss: 0.0015 - acc: 0.9995 - val_loss: 1.9391 - val_acc: 0.7600\n",
            "Epoch 95/100\n",
            "100/100 - 13s - loss: 1.1224e-04 - acc: 1.0000 - val_loss: 2.2670 - val_acc: 0.7450\n",
            "Epoch 96/100\n",
            "100/100 - 13s - loss: 0.0040 - acc: 0.9990 - val_loss: 1.9178 - val_acc: 0.7740\n",
            "Epoch 97/100\n",
            "100/100 - 13s - loss: 0.0050 - acc: 0.9985 - val_loss: 1.9781 - val_acc: 0.7630\n",
            "Epoch 98/100\n",
            "100/100 - 13s - loss: 0.0024 - acc: 0.9985 - val_loss: 2.0842 - val_acc: 0.7660\n",
            "Epoch 99/100\n",
            "100/100 - 13s - loss: 0.0016 - acc: 0.9995 - val_loss: 2.0173 - val_acc: 0.7670\n",
            "Epoch 100/100\n",
            "100/100 - 14s - loss: 2.8172e-05 - acc: 1.0000 - val_loss: 2.1159 - val_acc: 0.7640\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "GZWPcmKWO303",
        "colab_type": "code",
        "outputId": "e49bf799-ff5d-4548-f559-1f93f26c4ae7",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 545
        }
      },
      "source": [
        "import matplotlib.pyplot as plt\n",
        "acc = history.history['acc']\n",
        "val_acc = history.history['val_acc']\n",
        "loss = history.history['loss']\n",
        "val_loss = history.history['val_loss']\n",
        "\n",
        "epochs = range(len(acc))\n",
        "\n",
        "plt.plot(epochs, acc, 'bo', label='Training accuracy')\n",
        "plt.plot(epochs, val_acc, 'b', label='Validation accuracy')\n",
        "plt.title('Training and validation accuracy')\n",
        "\n",
        "plt.figure()\n",
        "\n",
        "plt.plot(epochs, loss, 'bo', label='Training Loss')\n",
        "plt.plot(epochs, val_loss, 'b', label='Validation Loss')\n",
        "plt.title('Training and validation loss')\n",
        "plt.legend()\n",
        "\n",
        "plt.show()"
      ],
      "execution_count": 2,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\ngg/u7CFDROnasgX4xz9yXYvYCj648xF6lCtbt8a/zUXQzZwJPPdcx23f1q0ds55oVVXAUUcBTz+d\nm/UnUvDBnY/Qo46mCtxzD7DDDkBJCTB+PPDEE0BTU65rFt+yZUBLi7+yTz0FjBoFnHEGMGwY8MYb\n2a3bnDlA797ANdd0/MHylVfs749/DHz5ZceuOylVzclryJAhSuTX9Omqxx2nWleX65rEVl+v+sAD\nqi+8oLpokeq338Yu9+23qj/6kSqgetJJqv/1X6q9e9vwFVckXkdLS/r1W7NGddo01ebm1Od94AGr\n3223JS/717+qdu2qOmKE6oMPqpaU2Lw//GF6605myxbV/fdX7dHD1nPxxe1bz8KFqrW1/so2NakW\nF6t+//uq3bqpnnlm68+ooUF1/nzV559Xvf9+1WXL0q+XF4Ba9RFjCza4V1erlpaqitjf6uqcVifw\n1q9X/fzzyJd7+XLVSZPsn/uYY1SXLk1/2X/7mwUMQHXffVW//DL9ZbW0WD23bUtv/uZm1Y0b246/\n6CKrn/vq06ftNm/apHrEETb9l7+M1KG5WfWyy+y7OGdO7PU2NqoeeaQdDBobU6vzl1/afgNsGal8\nFtOmWb06d1bt37/1ur/5RnXQINU991S95BLVe+9VLSpSPeSQyD5qaLDvAaA6YUL7DlCxXHedLfvl\nlyPrGTeu7T5qabEAmyhwL1miutNOqjvuGPszjvbee7a+J55Qvf12e19TY9/XMWNsn3m/E4DqiSda\nQ6WpKf1tZnBPoLravoTenV5UxACfrnnzIvtzu+1U99nHAkKnTtY67dXLpt97b+pB9b33VLffXvWg\ng1RnzLAW2pAhqps3ty63ebP98554ourZZ6tef71qVZXq1Kn2evhha9WVlVk9hw/39w/s1dKiOmqU\n6i67qH71VWT8559by238eNW33lKdMkW1Z0/V009vPf9PfmL7Zdq0tsveuFF1111t22K1PP/3fyPf\n1XPP9b8fN2+2ZfbooXrjjZHPorIysm+efVZ169a287oH1SOPtDq7gcx122027oQTVHfYwd7vvbfq\n2rVtl+UG3kmT/NXbj7fftu/YxRdHxv3mN7aesWNb76O777bxBxwQ+wCzaZP9AigutnK33JJ8/e72\nr1ljn9mwYa0P7ldfrfr44/YdXrxY9eabI79kbr89/e1mcE+gtLTtERWw8ZSar79W3W8/C0x3321f\n6DPOUL3hhkgKZeVKC/KAtVD9WrTIUhZ77mkBVFV15kxrEQ0bZgH8+ustzdGzZ6Rlv9deql26tP18\ni4tVR49WnTjRpg8Zorpunf/6PPpoZFlXXRUZP3GiBRlvi7iy0srNmmXDtbVW5vLL4y//ySdtnnvu\naT2+rs4C8qhRFnQA1Z/+NHaQammx/b1ypf16OvZY219/+YtNX7nSDoDR+2avvVSfesrmX7BA9cor\n7UB98MGqGzZYoNx7b9XvfteWs2GDtXJPOcWGGxst2H7xRexta2mxljugescd8feBX1u2WCNiwAAL\nzF5u0L3iClvv3/9u+2DgQBv/wgutyzc3q556qpWZNUv1tNPse+dtQCxcqPr0063nO+kk1cGDI8NL\nl9pBpaYmflquqckaKe73OR0M7gmIxA7uIjmrUl776KP4X9bx422/vfpq4mW0tFgQ7tbNf0A94QT7\nJ/vkk9bja2qsBdq1q7169lQ9/3zVd96JBLymJgtuS5faa9my1j+FZ85U7d7dWnKrVyevy8qVdnAY\nMUL1wgvt4LB4sQWWXr0sXeLV0GCNhUMOscBXXm4t/g0b4q+jpcW2ubhYdcWKyPjTT7fgvny5lbnq\nKvu+/upXrQP8t9/GDtxTp7Zdz2efRfbNjBn2ywiw1Atgn9O4cdYqdbmt33ffVZ082d7PnZt837ma\nm20/AXbwa48pU2w5L77YdlpLi+q119r0H//YDkIHHGCpwz32UD366NblJ060svfdZ8NuusU9x7Bo\nkWrfvq23t7HRflEmOlhnC4N7AoXccl+92vKTfs2ebfumXz/VX/zCgsHWrfb6859t2g03+FvWvHlW\n/g9/SF521iwr+9vf+q9rqmbNsn/Qvn1Vn3kmMr652YLG00/bgailxVppRUV2kFi71tIQo0ap3nmn\n1XP27LbLd1vixx5rfx9/PHmdliyxFEqPHnbAuuMObfMzfts2O6gClnNuabE6jxlj42680U5mPvig\n6htv+NsXzc0WME880dYV67zG5s124DnxRNtvZ5/tb9lejY2qFRVWz4kT08/BDx9uLfd487e0qF5w\nga3H20D43e8iByhVayjEOh8wcqR9LxYtsl8H/frZtp95pk1/6y2bz/u96SgM7gkUas59w4bIibXn\nn/c3T1WV/ievGusE0YgRqZ0cKi+3VmKif+qWFvv5X1JiP7+zaf58S8+4edr/+R/7Z/b+mnP32b33\n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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nSUVORK5CYII=\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "zb81GvNov-Tg",
        "colab_type": "text"
      },
      "source": [
        "The Training Accuracy is close to 100%, and the validation accuracy is in the 70%-80% range. This is a great example of overfitting -- which in short means that it can do very well with images it has seen before, but not so well with images it hasn't. Let's see if we can do better to avoid overfitting -- and one simple method is to augment the images a bit. If you think about it, most pictures of a cat are very similar -- the ears are at the top, then the eyes, then the mouth etc. Things like the distance between the eyes and ears will always be quite similar too. \n",
        "\n",
        "What if we tweak with the images to change this up a bit -- rotate the image, squash it, etc.  That's what image augementation is all about. And there's an API that makes it easy...\n",
        "\n",
        "Now take a look at the ImageGenerator. There are properties on it that you can use to augment the image. \n",
        "\n",
        "```\n",
        "# Updated to do image augmentation\n",
        "train_datagen = ImageDataGenerator(\n",
        "      rotation_range=40,\n",
        "      width_shift_range=0.2,\n",
        "      height_shift_range=0.2,\n",
        "      shear_range=0.2,\n",
        "      zoom_range=0.2,\n",
        "      horizontal_flip=True,\n",
        "      fill_mode='nearest')\n",
        "```\n",
        "These are just a few of the options available (for more, see the Keras documentation. Let's quickly go over what we just wrote:\n",
        "\n",
        "* rotation_range is a value in degrees (0–180), a range within which to randomly rotate pictures.\n",
        "* width_shift and height_shift are ranges (as a fraction of total width or height) within which to randomly translate pictures vertically or horizontally.\n",
        "* shear_range is for randomly applying shearing transformations.\n",
        "* zoom_range is for randomly zooming inside pictures.\n",
        "* horizontal_flip is for randomly flipping half of the images horizontally. This is relevant when there are no assumptions of horizontal assymmetry (e.g. real-world pictures).\n",
        "* fill_mode is the strategy used for filling in newly created pixels, which can appear after a rotation or a width/height shift.\n",
        "\n",
        "\n",
        "Here's some code where we've added Image Augmentation. Run it to see the impact.\n"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "UK7_Fflgv8YC",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 3638
        },
        "outputId": "bf15629b-79c8-48fc-cebe-641f5e64c47a"
      },
      "source": [
        "!wget --no-check-certificate \\\n",
        "    https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip \\\n",
        "    -O /tmp/cats_and_dogs_filtered.zip\n",
        "  \n",
        "import os\n",
        "import zipfile\n",
        "import tensorflow as tf\n",
        "from tensorflow.keras.optimizers import RMSprop\n",
        "from tensorflow.keras.preprocessing.image import ImageDataGenerator\n",
        "\n",
        "local_zip = '/tmp/cats_and_dogs_filtered.zip'\n",
        "zip_ref = zipfile.ZipFile(local_zip, 'r')\n",
        "zip_ref.extractall('/tmp')\n",
        "zip_ref.close()\n",
        "\n",
        "base_dir = '/tmp/cats_and_dogs_filtered'\n",
        "train_dir = os.path.join(base_dir, 'train')\n",
        "validation_dir = os.path.join(base_dir, 'validation')\n",
        "\n",
        "# Directory with our training cat pictures\n",
        "train_cats_dir = os.path.join(train_dir, 'cats')\n",
        "\n",
        "# Directory with our training dog pictures\n",
        "train_dogs_dir = os.path.join(train_dir, 'dogs')\n",
        "\n",
        "# Directory with our validation cat pictures\n",
        "validation_cats_dir = os.path.join(validation_dir, 'cats')\n",
        "\n",
        "# Directory with our validation dog pictures\n",
        "validation_dogs_dir = os.path.join(validation_dir, 'dogs')\n",
        "\n",
        "model = tf.keras.models.Sequential([\n",
        "    tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(150, 150, 3)),\n",
        "    tf.keras.layers.MaxPooling2D(2, 2),\n",
        "    tf.keras.layers.Conv2D(64, (3,3), activation='relu'),\n",
        "    tf.keras.layers.MaxPooling2D(2,2),\n",
        "    tf.keras.layers.Conv2D(128, (3,3), activation='relu'),\n",
        "    tf.keras.layers.MaxPooling2D(2,2),\n",
        "    tf.keras.layers.Conv2D(128, (3,3), activation='relu'),\n",
        "    tf.keras.layers.MaxPooling2D(2,2),\n",
        "    tf.keras.layers.Flatten(),\n",
        "    tf.keras.layers.Dense(512, activation='relu'),\n",
        "    tf.keras.layers.Dense(1, activation='sigmoid')\n",
        "])\n",
        "\n",
        "model.compile(loss='binary_crossentropy',\n",
        "              optimizer=RMSprop(lr=1e-4),\n",
        "              metrics=['acc'])\n",
        "\n",
        "# This code has changed. Now instead of the ImageGenerator just rescaling\n",
        "# the image, we also rotate and do other operations\n",
        "# Updated to do image augmentation\n",
        "train_datagen = ImageDataGenerator(\n",
        "      rescale=1./255,\n",
        "      rotation_range=40,\n",
        "      width_shift_range=0.2,\n",
        "      height_shift_range=0.2,\n",
        "      shear_range=0.2,\n",
        "      zoom_range=0.2,\n",
        "      horizontal_flip=True,\n",
        "      fill_mode='nearest')\n",
        "\n",
        "test_datagen = ImageDataGenerator(rescale=1./255)\n",
        "\n",
        "# Flow training images in batches of 20 using train_datagen generator\n",
        "train_generator = train_datagen.flow_from_directory(\n",
        "        train_dir,  # This is the source directory for training images\n",
        "        target_size=(150, 150),  # All images will be resized to 150x150\n",
        "        batch_size=20,\n",
        "        # Since we use binary_crossentropy loss, we need binary labels\n",
        "        class_mode='binary')\n",
        "\n",
        "# Flow validation images in batches of 20 using test_datagen generator\n",
        "validation_generator = test_datagen.flow_from_directory(\n",
        "        validation_dir,\n",
        "        target_size=(150, 150),\n",
        "        batch_size=20,\n",
        "        class_mode='binary')\n",
        "\n",
        "history = model.fit_generator(\n",
        "      train_generator,\n",
        "      steps_per_epoch=100,  # 2000 images = batch_size * steps\n",
        "      epochs=100,\n",
        "      validation_data=validation_generator,\n",
        "      validation_steps=50,  # 1000 images = batch_size * steps\n",
        "      verbose=2)"
      ],
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "--2019-06-15 04:49:39--  https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip\n",
            "Resolving storage.googleapis.com (storage.googleapis.com)... 74.125.130.128, 2404:6800:4003:c04::80\n",
            "Connecting to storage.googleapis.com (storage.googleapis.com)|74.125.130.128|:443... connected.\n",
            "HTTP request sent, awaiting response... 200 OK\n",
            "Length: 68606236 (65M) [application/zip]\n",
            "Saving to: ‘/tmp/cats_and_dogs_filtered.zip’\n",
            "\n",
            "/tmp/cats_and_dogs_ 100%[===================>]  65.43M  56.0MB/s    in 1.2s    \n",
            "\n",
            "2019-06-15 04:49:40 (56.0 MB/s) - ‘/tmp/cats_and_dogs_filtered.zip’ saved [68606236/68606236]\n",
            "\n",
            "Found 2000 images belonging to 2 classes.\n",
            "Found 1000 images belonging to 2 classes.\n",
            "Epoch 1/100\n",
            "100/100 - 29s - loss: 0.6929 - acc: 0.5195 - val_loss: 0.6800 - val_acc: 0.5750\n",
            "Epoch 2/100\n",
            "100/100 - 26s - loss: 0.6780 - acc: 0.5700 - val_loss: 0.6577 - val_acc: 0.6300\n",
            "Epoch 3/100\n",
            "100/100 - 26s - loss: 0.6707 - acc: 0.5810 - val_loss: 0.6402 - val_acc: 0.6280\n",
            "Epoch 4/100\n",
            "100/100 - 26s - loss: 0.6559 - acc: 0.6290 - val_loss: 0.6245 - val_acc: 0.6470\n",
            "Epoch 5/100\n",
            "100/100 - 25s - loss: 0.6551 - acc: 0.6050 - val_loss: 0.6143 - val_acc: 0.6690\n",
            "Epoch 6/100\n",
            "100/100 - 26s - loss: 0.6375 - acc: 0.6325 - val_loss: 0.5944 - val_acc: 0.6720\n",
            "Epoch 7/100\n",
            "100/100 - 26s - loss: 0.6319 - acc: 0.6360 - val_loss: 0.5938 - val_acc: 0.6550\n",
            "Epoch 8/100\n",
            "100/100 - 25s - loss: 0.6141 - acc: 0.6520 - val_loss: 0.5904 - val_acc: 0.6780\n",
            "Epoch 9/100\n",
            "100/100 - 26s - loss: 0.6043 - acc: 0.6740 - val_loss: 0.5793 - val_acc: 0.6790\n",
            "Epoch 10/100\n",
            "100/100 - 26s - loss: 0.6000 - acc: 0.6710 - val_loss: 0.5975 - val_acc: 0.6690\n",
            "Epoch 11/100\n",
            "100/100 - 25s - loss: 0.5892 - acc: 0.6830 - val_loss: 0.5455 - val_acc: 0.7130\n",
            "Epoch 12/100\n",
            "100/100 - 27s - loss: 0.5754 - acc: 0.6875 - val_loss: 0.5279 - val_acc: 0.7240\n",
            "Epoch 13/100\n",
            "100/100 - 26s - loss: 0.5783 - acc: 0.6935 - val_loss: 0.5451 - val_acc: 0.7090\n",
            "Epoch 14/100\n",
            "100/100 - 26s - loss: 0.5661 - acc: 0.7040 - val_loss: 0.6398 - val_acc: 0.6530\n",
            "Epoch 15/100\n",
            "100/100 - 26s - loss: 0.5710 - acc: 0.7040 - val_loss: 0.5192 - val_acc: 0.7260\n",
            "Epoch 16/100\n",
            "100/100 - 27s - loss: 0.5631 - acc: 0.7065 - val_loss: 0.5689 - val_acc: 0.7070\n",
            "Epoch 17/100\n",
            "100/100 - 27s - loss: 0.5499 - acc: 0.7100 - val_loss: 0.5235 - val_acc: 0.7150\n",
            "Epoch 18/100\n",
            "100/100 - 27s - loss: 0.5567 - acc: 0.7140 - val_loss: 0.5184 - val_acc: 0.7190\n",
            "Epoch 19/100\n",
            "100/100 - 25s - loss: 0.5482 - acc: 0.7205 - val_loss: 0.5300 - val_acc: 0.7120\n",
            "Epoch 20/100\n",
            "100/100 - 26s - loss: 0.5361 - acc: 0.7255 - val_loss: 0.5660 - val_acc: 0.6920\n",
            "Epoch 21/100\n",
            "100/100 - 26s - loss: 0.5306 - acc: 0.7275 - val_loss: 0.5365 - val_acc: 0.7250\n",
            "Epoch 22/100\n",
            "100/100 - 27s - loss: 0.5384 - acc: 0.7300 - val_loss: 0.4966 - val_acc: 0.7290\n",
            "Epoch 23/100\n",
            "100/100 - 26s - loss: 0.5347 - acc: 0.7350 - val_loss: 0.4996 - val_acc: 0.7320\n",
            "Epoch 24/100\n",
            "100/100 - 27s - loss: 0.5288 - acc: 0.7280 - val_loss: 0.4888 - val_acc: 0.7460\n",
            "Epoch 25/100\n",
            "100/100 - 27s - loss: 0.5308 - acc: 0.7315 - val_loss: 0.4839 - val_acc: 0.7560\n",
            "Epoch 26/100\n",
            "100/100 - 27s - loss: 0.5157 - acc: 0.7475 - val_loss: 0.5003 - val_acc: 0.7430\n",
            "Epoch 27/100\n",
            "100/100 - 27s - loss: 0.5218 - acc: 0.7370 - val_loss: 0.5085 - val_acc: 0.7410\n",
            "Epoch 28/100\n",
            "100/100 - 26s - loss: 0.5154 - acc: 0.7395 - val_loss: 0.4765 - val_acc: 0.7600\n",
            "Epoch 29/100\n",
            "100/100 - 27s - loss: 0.5034 - acc: 0.7490 - val_loss: 0.5035 - val_acc: 0.7360\n",
            "Epoch 30/100\n",
            "100/100 - 26s - loss: 0.5160 - acc: 0.7480 - val_loss: 0.4834 - val_acc: 0.7620\n",
            "Epoch 31/100\n",
            "100/100 - 26s - loss: 0.5032 - acc: 0.7510 - val_loss: 0.4738 - val_acc: 0.7660\n",
            "Epoch 32/100\n",
            "100/100 - 25s - loss: 0.4994 - acc: 0.7595 - val_loss: 0.4648 - val_acc: 0.7700\n",
            "Epoch 33/100\n",
            "100/100 - 27s - loss: 0.4916 - acc: 0.7755 - val_loss: 0.4927 - val_acc: 0.7590\n",
            "Epoch 34/100\n",
            "100/100 - 26s - loss: 0.4880 - acc: 0.7715 - val_loss: 0.5173 - val_acc: 0.7350\n",
            "Epoch 35/100\n",
            "100/100 - 26s - loss: 0.4913 - acc: 0.7670 - val_loss: 0.4781 - val_acc: 0.7480\n",
            "Epoch 36/100\n",
            "100/100 - 26s - loss: 0.4936 - acc: 0.7660 - val_loss: 0.4605 - val_acc: 0.7620\n",
            "Epoch 37/100\n",
            "100/100 - 26s - loss: 0.4805 - acc: 0.7600 - val_loss: 0.4591 - val_acc: 0.7860\n",
            "Epoch 38/100\n",
            "100/100 - 26s - loss: 0.4764 - acc: 0.7775 - val_loss: 0.4699 - val_acc: 0.7840\n",
            "Epoch 39/100\n",
            "100/100 - 26s - loss: 0.4729 - acc: 0.7710 - val_loss: 0.4748 - val_acc: 0.7580\n",
            "Epoch 40/100\n",
            "100/100 - 25s - loss: 0.4830 - acc: 0.7680 - val_loss: 0.4518 - val_acc: 0.7820\n",
            "Epoch 41/100\n",
            "100/100 - 26s - loss: 0.4728 - acc: 0.7815 - val_loss: 0.4871 - val_acc: 0.7640\n",
            "Epoch 42/100\n",
            "100/100 - 26s - loss: 0.4743 - acc: 0.7715 - val_loss: 0.4441 - val_acc: 0.7830\n",
            "Epoch 43/100\n",
            "100/100 - 27s - loss: 0.4682 - acc: 0.7855 - val_loss: 0.4571 - val_acc: 0.7740\n",
            "Epoch 44/100\n",
            "100/100 - 26s - loss: 0.4516 - acc: 0.7880 - val_loss: 0.4384 - val_acc: 0.7900\n",
            "Epoch 45/100\n",
            "100/100 - 26s - loss: 0.4796 - acc: 0.7740 - val_loss: 0.4642 - val_acc: 0.7760\n",
            "Epoch 46/100\n",
            "100/100 - 26s - loss: 0.4672 - acc: 0.7850 - val_loss: 0.4828 - val_acc: 0.7490\n",
            "Epoch 47/100\n",
            "100/100 - 27s - loss: 0.4561 - acc: 0.7845 - val_loss: 0.4888 - val_acc: 0.7400\n",
            "Epoch 48/100\n",
            "100/100 - 25s - loss: 0.4698 - acc: 0.7800 - val_loss: 0.4768 - val_acc: 0.7760\n",
            "Epoch 49/100\n",
            "100/100 - 26s - loss: 0.4456 - acc: 0.7945 - val_loss: 0.4860 - val_acc: 0.7520\n",
            "Epoch 50/100\n",
            "100/100 - 26s - loss: 0.4606 - acc: 0.7835 - val_loss: 0.4544 - val_acc: 0.7740\n",
            "Epoch 51/100\n",
            "100/100 - 26s - loss: 0.4432 - acc: 0.7945 - val_loss: 0.4374 - val_acc: 0.7880\n",
            "Epoch 52/100\n",
            "100/100 - 26s - loss: 0.4492 - acc: 0.7935 - val_loss: 0.5375 - val_acc: 0.7420\n",
            "Epoch 53/100\n",
            "100/100 - 25s - loss: 0.4422 - acc: 0.7930 - val_loss: 0.4607 - val_acc: 0.7890\n",
            "Epoch 54/100\n",
            "100/100 - 26s - loss: 0.4336 - acc: 0.7945 - val_loss: 0.5068 - val_acc: 0.7520\n",
            "Epoch 55/100\n",
            "100/100 - 26s - loss: 0.4494 - acc: 0.7815 - val_loss: 0.4444 - val_acc: 0.7900\n",
            "Epoch 56/100\n",
            "100/100 - 27s - loss: 0.4451 - acc: 0.7990 - val_loss: 0.4537 - val_acc: 0.7860\n",
            "Epoch 57/100\n",
            "100/100 - 25s - loss: 0.4331 - acc: 0.7960 - val_loss: 0.4323 - val_acc: 0.7880\n",
            "Epoch 58/100\n",
            "100/100 - 26s - loss: 0.4315 - acc: 0.8015 - val_loss: 0.4605 - val_acc: 0.7710\n",
            "Epoch 59/100\n",
            "100/100 - 26s - loss: 0.4380 - acc: 0.7925 - val_loss: 0.4466 - val_acc: 0.7920\n",
            "Epoch 60/100\n",
            "100/100 - 26s - loss: 0.4286 - acc: 0.7990 - val_loss: 0.4340 - val_acc: 0.7890\n",
            "Epoch 61/100\n",
            "100/100 - 26s - loss: 0.4233 - acc: 0.8125 - val_loss: 0.4154 - val_acc: 0.8000\n",
            "Epoch 62/100\n",
            "100/100 - 26s - loss: 0.4252 - acc: 0.7965 - val_loss: 0.4251 - val_acc: 0.7870\n",
            "Epoch 63/100\n",
            "100/100 - 26s - loss: 0.4276 - acc: 0.8045 - val_loss: 0.4058 - val_acc: 0.8020\n",
            "Epoch 64/100\n",
            "100/100 - 26s - loss: 0.4424 - acc: 0.7915 - val_loss: 0.4193 - val_acc: 0.8040\n",
            "Epoch 65/100\n",
            "100/100 - 26s - loss: 0.4234 - acc: 0.8055 - val_loss: 0.4549 - val_acc: 0.7710\n",
            "Epoch 66/100\n",
            "100/100 - 27s - loss: 0.4210 - acc: 0.8145 - val_loss: 0.4341 - val_acc: 0.7920\n",
            "Epoch 67/100\n",
            "100/100 - 26s - loss: 0.4069 - acc: 0.8070 - val_loss: 0.4623 - val_acc: 0.7840\n",
            "Epoch 68/100\n",
            "100/100 - 26s - loss: 0.4099 - acc: 0.8020 - val_loss: 0.4303 - val_acc: 0.7940\n",
            "Epoch 69/100\n",
            "100/100 - 26s - loss: 0.4127 - acc: 0.8145 - val_loss: 0.4041 - val_acc: 0.8030\n",
            "Epoch 70/100\n",
            "100/100 - 27s - loss: 0.4010 - acc: 0.8115 - val_loss: 0.4161 - val_acc: 0.8070\n",
            "Epoch 71/100\n",
            "100/100 - 26s - loss: 0.3973 - acc: 0.8065 - val_loss: 0.4297 - val_acc: 0.8050\n",
            "Epoch 72/100\n",
            "100/100 - 27s - loss: 0.4046 - acc: 0.8075 - val_loss: 0.4031 - val_acc: 0.8100\n",
            "Epoch 73/100\n",
            "100/100 - 26s - loss: 0.4069 - acc: 0.8120 - val_loss: 0.4318 - val_acc: 0.7960\n",
            "Epoch 74/100\n",
            "100/100 - 27s - loss: 0.3955 - acc: 0.8180 - val_loss: 0.4920 - val_acc: 0.7670\n",
            "Epoch 75/100\n",
            "100/100 - 27s - loss: 0.3891 - acc: 0.8220 - val_loss: 0.4188 - val_acc: 0.7960\n",
            "Epoch 76/100\n",
            "100/100 - 27s - loss: 0.3949 - acc: 0.8205 - val_loss: 0.3944 - val_acc: 0.8210\n",
            "Epoch 77/100\n",
            "100/100 - 27s - loss: 0.3925 - acc: 0.8125 - val_loss: 0.3926 - val_acc: 0.8090\n",
            "Epoch 78/100\n",
            "100/100 - 26s - loss: 0.4008 - acc: 0.8230 - val_loss: 0.4202 - val_acc: 0.8030\n",
            "Epoch 79/100\n",
            "100/100 - 26s - loss: 0.3876 - acc: 0.8190 - val_loss: 0.3945 - val_acc: 0.8150\n",
            "Epoch 80/100\n",
            "100/100 - 26s - loss: 0.3812 - acc: 0.8295 - val_loss: 0.5270 - val_acc: 0.7790\n",
            "Epoch 81/100\n",
            "100/100 - 27s - loss: 0.3749 - acc: 0.8270 - val_loss: 0.4928 - val_acc: 0.7730\n",
            "Epoch 82/100\n",
            "100/100 - 25s - loss: 0.3888 - acc: 0.8180 - val_loss: 0.4165 - val_acc: 0.8080\n",
            "Epoch 83/100\n",
            "100/100 - 21s - loss: 0.3655 - acc: 0.8370 - val_loss: 0.3970 - val_acc: 0.8200\n",
            "Epoch 84/100\n",
            "100/100 - 16s - loss: 0.3799 - acc: 0.8325 - val_loss: 0.4262 - val_acc: 0.8150\n",
            "Epoch 85/100\n",
            "100/100 - 16s - loss: 0.3827 - acc: 0.8265 - val_loss: 0.4240 - val_acc: 0.8040\n",
            "Epoch 86/100\n",
            "100/100 - 16s - loss: 0.3858 - acc: 0.8240 - val_loss: 0.4376 - val_acc: 0.7960\n",
            "Epoch 87/100\n",
            "100/100 - 16s - loss: 0.3764 - acc: 0.8370 - val_loss: 0.4237 - val_acc: 0.8020\n",
            "Epoch 88/100\n",
            "100/100 - 16s - loss: 0.3738 - acc: 0.8335 - val_loss: 0.3964 - val_acc: 0.8150\n",
            "Epoch 89/100\n",
            "100/100 - 16s - loss: 0.3756 - acc: 0.8375 - val_loss: 0.4933 - val_acc: 0.7960\n",
            "Epoch 90/100\n",
            "100/100 - 16s - loss: 0.3691 - acc: 0.8310 - val_loss: 0.4264 - val_acc: 0.8090\n",
            "Epoch 91/100\n",
            "100/100 - 16s - loss: 0.3745 - acc: 0.8350 - val_loss: 0.4145 - val_acc: 0.8110\n",
            "Epoch 92/100\n",
            "100/100 - 16s - loss: 0.3729 - acc: 0.8350 - val_loss: 0.4077 - val_acc: 0.8140\n",
            "Epoch 93/100\n",
            "100/100 - 16s - loss: 0.3709 - acc: 0.8425 - val_loss: 0.4129 - val_acc: 0.8000\n",
            "Epoch 94/100\n",
            "100/100 - 16s - loss: 0.3431 - acc: 0.8420 - val_loss: 0.4154 - val_acc: 0.8190\n",
            "Epoch 95/100\n",
            "100/100 - 16s - loss: 0.3639 - acc: 0.8385 - val_loss: 0.4734 - val_acc: 0.7870\n",
            "Epoch 96/100\n",
            "100/100 - 16s - loss: 0.3686 - acc: 0.8400 - val_loss: 0.3903 - val_acc: 0.8130\n",
            "Epoch 97/100\n",
            "100/100 - 16s - loss: 0.3680 - acc: 0.8435 - val_loss: 0.4134 - val_acc: 0.8000\n",
            "Epoch 98/100\n",
            "100/100 - 16s - loss: 0.3406 - acc: 0.8385 - val_loss: 0.3928 - val_acc: 0.8120\n",
            "Epoch 99/100\n",
            "100/100 - 16s - loss: 0.3609 - acc: 0.8390 - val_loss: 0.4097 - val_acc: 0.8030\n",
            "Epoch 100/100\n",
            "100/100 - 16s - loss: 0.3688 - acc: 0.8360 - val_loss: 0.4524 - val_acc: 0.7910\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "bnyRnwopT5aW",
        "colab_type": "code",
        "outputId": "65afea57-c092-47a2-b68f-b7d2b3c457e3",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 545
        }
      },
      "source": [
        "import matplotlib.pyplot as plt\n",
        "acc = history.history['acc']\n",
        "val_acc = history.history['val_acc']\n",
        "loss = history.history['loss']\n",
        "val_loss = history.history['val_loss']\n",
        "\n",
        "epochs = range(len(acc))\n",
        "\n",
        "plt.plot(epochs, acc, 'bo', label='Training accuracy')\n",
        "plt.plot(epochs, val_acc, 'b', label='Validation accuracy')\n",
        "plt.title('Training and validation accuracy')\n",
        "\n",
        "plt.figure()\n",
        "\n",
        "plt.plot(epochs, loss, 'bo', label='Training Loss')\n",
        "plt.plot(epochs, val_loss, 'b', label='Validation Loss')\n",
        "plt.title('Training and validation loss')\n",
        "plt.legend()\n",
        "\n",
        "plt.show()"
      ],
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nPJy3cLxnmQAAAABJRU5ErkJggg==\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "TmYgnrcobqw1",
        "colab_type": "code",
        "outputId": "fea94baf-3da0-4bf6-a120-9e0baf61e00a",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 3638
        }
      },
      "source": [
        "!wget --no-check-certificate \\\n",
        "    https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip \\\n",
        "    -O /tmp/cats_and_dogs_filtered.zip\n",
        "  \n",
        "import os\n",
        "import zipfile\n",
        "import tensorflow as tf\n",
        "from tensorflow.keras.optimizers import RMSprop\n",
        "from tensorflow.keras.preprocessing.image import ImageDataGenerator\n",
        "\n",
        "local_zip = '/tmp/cats_and_dogs_filtered.zip'\n",
        "zip_ref = zipfile.ZipFile(local_zip, 'r')\n",
        "zip_ref.extractall('/tmp')\n",
        "zip_ref.close()\n",
        "\n",
        "base_dir = '/tmp/cats_and_dogs_filtered'\n",
        "train_dir = os.path.join(base_dir, 'train')\n",
        "validation_dir = os.path.join(base_dir, 'validation')\n",
        "\n",
        "# Directory with our training cat pictures\n",
        "train_cats_dir = os.path.join(train_dir, 'cats')\n",
        "\n",
        "# Directory with our training dog pictures\n",
        "train_dogs_dir = os.path.join(train_dir, 'dogs')\n",
        "\n",
        "# Directory with our validation cat pictures\n",
        "validation_cats_dir = os.path.join(validation_dir, 'cats')\n",
        "\n",
        "# Directory with our validation dog pictures\n",
        "validation_dogs_dir = os.path.join(validation_dir, 'dogs')\n",
        "\n",
        "model = tf.keras.models.Sequential([\n",
        "    tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(150, 150, 3)),\n",
        "    tf.keras.layers.MaxPooling2D(2, 2),\n",
        "    tf.keras.layers.Conv2D(64, (3,3), activation='relu'),\n",
        "    tf.keras.layers.MaxPooling2D(2,2),\n",
        "    tf.keras.layers.Conv2D(128, (3,3), activation='relu'),\n",
        "    tf.keras.layers.MaxPooling2D(2,2),\n",
        "    tf.keras.layers.Conv2D(128, (3,3), activation='relu'),\n",
        "    tf.keras.layers.MaxPooling2D(2,2),\n",
        "    tf.keras.layers.Dropout(0.5),\n",
        "    tf.keras.layers.Flatten(),\n",
        "    tf.keras.layers.Dense(512, activation='relu'),\n",
        "    tf.keras.layers.Dense(1, activation='sigmoid')\n",
        "])\n",
        "\n",
        "model.compile(loss='binary_crossentropy',\n",
        "              optimizer=RMSprop(lr=1e-4),\n",
        "              metrics=['acc'])\n",
        "\n",
        "# This code has changed. Now instead of the ImageGenerator just rescaling\n",
        "# the image, we also rotate and do other operations\n",
        "# Updated to do image augmentation\n",
        "train_datagen = ImageDataGenerator(\n",
        "      rescale=1./255,\n",
        "      rotation_range=40,\n",
        "      width_shift_range=0.2,\n",
        "      height_shift_range=0.2,\n",
        "      shear_range=0.2,\n",
        "      zoom_range=0.2,\n",
        "      horizontal_flip=True,\n",
        "      fill_mode='nearest')\n",
        "\n",
        "test_datagen = ImageDataGenerator(rescale=1./255)\n",
        "\n",
        "# Flow training images in batches of 20 using train_datagen generator\n",
        "train_generator = train_datagen.flow_from_directory(\n",
        "        train_dir,  # This is the source directory for training images\n",
        "        target_size=(150, 150),  # All images will be resized to 150x150\n",
        "        batch_size=20,\n",
        "        # Since we use binary_crossentropy loss, we need binary labels\n",
        "        class_mode='binary')\n",
        "\n",
        "# Flow validation images in batches of 20 using test_datagen generator\n",
        "validation_generator = test_datagen.flow_from_directory(\n",
        "        validation_dir,\n",
        "        target_size=(150, 150),\n",
        "        batch_size=20,\n",
        "        class_mode='binary')\n",
        "\n",
        "history = model.fit_generator(\n",
        "      train_generator,\n",
        "      steps_per_epoch=100,  # 2000 images = batch_size * steps\n",
        "      epochs=100,\n",
        "      validation_data=validation_generator,\n",
        "      validation_steps=50,  # 1000 images = batch_size * steps\n",
        "      verbose=2)"
      ],
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "--2019-06-15 05:30:31--  https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip\n",
            "Resolving storage.googleapis.com (storage.googleapis.com)... 216.58.203.240, 2404:6800:4003:802::2010\n",
            "Connecting to storage.googleapis.com (storage.googleapis.com)|216.58.203.240|:443... connected.\n",
            "HTTP request sent, awaiting response... 200 OK\n",
            "Length: 68606236 (65M) [application/zip]\n",
            "Saving to: ‘/tmp/cats_and_dogs_filtered.zip’\n",
            "\n",
            "/tmp/cats_and_dogs_ 100%[===================>]  65.43M  30.5MB/s    in 2.1s    \n",
            "\n",
            "2019-06-15 05:30:34 (30.5 MB/s) - ‘/tmp/cats_and_dogs_filtered.zip’ saved [68606236/68606236]\n",
            "\n",
            "Found 2000 images belonging to 2 classes.\n",
            "Found 1000 images belonging to 2 classes.\n",
            "Epoch 1/100\n",
            "100/100 - 18s - loss: 0.6947 - acc: 0.5110 - val_loss: 0.6876 - val_acc: 0.5800\n",
            "Epoch 2/100\n",
            "100/100 - 16s - loss: 0.6882 - acc: 0.5330 - val_loss: 0.6706 - val_acc: 0.5910\n",
            "Epoch 3/100\n",
            "100/100 - 16s - loss: 0.6798 - acc: 0.5495 - val_loss: 0.6525 - val_acc: 0.6080\n",
            "Epoch 4/100\n",
            "100/100 - 16s - loss: 0.6692 - acc: 0.5715 - val_loss: 0.6446 - val_acc: 0.6320\n",
            "Epoch 5/100\n",
            "100/100 - 16s - loss: 0.6612 - acc: 0.5825 - val_loss: 0.6292 - val_acc: 0.6330\n",
            "Epoch 6/100\n",
            "100/100 - 16s - loss: 0.6480 - acc: 0.6085 - val_loss: 0.6432 - val_acc: 0.5950\n",
            "Epoch 7/100\n",
            "100/100 - 16s - loss: 0.6288 - acc: 0.6350 - val_loss: 0.5870 - val_acc: 0.6830\n",
            "Epoch 8/100\n",
            "100/100 - 16s - loss: 0.6201 - acc: 0.6470 - val_loss: 0.5966 - val_acc: 0.6610\n",
            "Epoch 9/100\n",
            "100/100 - 16s - loss: 0.6090 - acc: 0.6630 - val_loss: 0.5914 - val_acc: 0.6770\n",
            "Epoch 10/100\n",
            "100/100 - 16s - loss: 0.6072 - acc: 0.6795 - val_loss: 0.5950 - val_acc: 0.6800\n",
            "Epoch 11/100\n",
            "100/100 - 16s - loss: 0.6066 - acc: 0.6775 - val_loss: 0.5695 - val_acc: 0.6960\n",
            "Epoch 12/100\n",
            "100/100 - 16s - loss: 0.6063 - acc: 0.6685 - val_loss: 0.5640 - val_acc: 0.7110\n",
            "Epoch 13/100\n",
            "100/100 - 16s - loss: 0.5877 - acc: 0.6860 - val_loss: 0.5590 - val_acc: 0.6940\n",
            "Epoch 14/100\n",
            "100/100 - 16s - loss: 0.5810 - acc: 0.6985 - val_loss: 0.5436 - val_acc: 0.7140\n",
            "Epoch 15/100\n",
            "100/100 - 16s - loss: 0.5743 - acc: 0.6980 - val_loss: 0.5276 - val_acc: 0.7370\n",
            "Epoch 16/100\n",
            "100/100 - 16s - loss: 0.5757 - acc: 0.6935 - val_loss: 0.6214 - val_acc: 0.6540\n",
            "Epoch 17/100\n",
            "100/100 - 16s - loss: 0.5753 - acc: 0.6945 - val_loss: 0.5180 - val_acc: 0.7270\n",
            "Epoch 18/100\n",
            "100/100 - 16s - loss: 0.5651 - acc: 0.7030 - val_loss: 0.5113 - val_acc: 0.7370\n",
            "Epoch 19/100\n",
            "100/100 - 16s - loss: 0.5491 - acc: 0.7175 - val_loss: 0.5547 - val_acc: 0.7190\n",
            "Epoch 20/100\n",
            "100/100 - 16s - loss: 0.5561 - acc: 0.7095 - val_loss: 0.5209 - val_acc: 0.7200\n",
            "Epoch 21/100\n",
            "100/100 - 16s - loss: 0.5522 - acc: 0.7130 - val_loss: 0.5232 - val_acc: 0.7300\n",
            "Epoch 22/100\n",
            "100/100 - 16s - loss: 0.5597 - acc: 0.7075 - val_loss: 0.5023 - val_acc: 0.7510\n",
            "Epoch 23/100\n",
            "100/100 - 16s - loss: 0.5472 - acc: 0.7190 - val_loss: 0.5031 - val_acc: 0.7410\n",
            "Epoch 24/100\n",
            "100/100 - 16s - loss: 0.5394 - acc: 0.7375 - val_loss: 0.5335 - val_acc: 0.7320\n",
            "Epoch 25/100\n",
            "100/100 - 16s - loss: 0.5493 - acc: 0.7335 - val_loss: 0.5099 - val_acc: 0.7470\n",
            "Epoch 26/100\n",
            "100/100 - 16s - loss: 0.5301 - acc: 0.7360 - val_loss: 0.5203 - val_acc: 0.7130\n",
            "Epoch 27/100\n",
            "100/100 - 16s - loss: 0.5250 - acc: 0.7405 - val_loss: 0.4939 - val_acc: 0.7530\n",
            "Epoch 28/100\n",
            "100/100 - 16s - loss: 0.5356 - acc: 0.7245 - val_loss: 0.5290 - val_acc: 0.7480\n",
            "Epoch 29/100\n",
            "100/100 - 16s - loss: 0.5109 - acc: 0.7585 - val_loss: 0.5456 - val_acc: 0.7350\n",
            "Epoch 30/100\n",
            "100/100 - 16s - loss: 0.5344 - acc: 0.7360 - val_loss: 0.4888 - val_acc: 0.7570\n",
            "Epoch 31/100\n",
            "100/100 - 16s - loss: 0.5162 - acc: 0.7400 - val_loss: 0.4802 - val_acc: 0.7640\n",
            "Epoch 32/100\n",
            "100/100 - 16s - loss: 0.5141 - acc: 0.7490 - val_loss: 0.4690 - val_acc: 0.7760\n",
            "Epoch 33/100\n",
            "100/100 - 16s - loss: 0.5160 - acc: 0.7485 - val_loss: 0.5381 - val_acc: 0.7340\n",
            "Epoch 34/100\n",
            "100/100 - 16s - loss: 0.5142 - acc: 0.7485 - val_loss: 0.4920 - val_acc: 0.7610\n",
            "Epoch 35/100\n",
            "100/100 - 16s - loss: 0.5068 - acc: 0.7535 - val_loss: 0.4825 - val_acc: 0.7600\n",
            "Epoch 36/100\n",
            "100/100 - 16s - loss: 0.4958 - acc: 0.7555 - val_loss: 0.5285 - val_acc: 0.7130\n",
            "Epoch 37/100\n",
            "100/100 - 16s - loss: 0.5059 - acc: 0.7470 - val_loss: 0.5024 - val_acc: 0.7590\n",
            "Epoch 38/100\n",
            "100/100 - 16s - loss: 0.5038 - acc: 0.7605 - val_loss: 0.7792 - val_acc: 0.6420\n",
            "Epoch 39/100\n",
            "100/100 - 16s - loss: 0.4884 - acc: 0.7640 - val_loss: 0.4706 - val_acc: 0.7660\n",
            "Epoch 40/100\n",
            "100/100 - 16s - loss: 0.4838 - acc: 0.7620 - val_loss: 0.5395 - val_acc: 0.7410\n",
            "Epoch 41/100\n",
            "100/100 - 16s - loss: 0.4819 - acc: 0.7645 - val_loss: 0.5545 - val_acc: 0.7210\n",
            "Epoch 42/100\n",
            "100/100 - 16s - loss: 0.4754 - acc: 0.7680 - val_loss: 0.4630 - val_acc: 0.7760\n",
            "Epoch 43/100\n",
            "100/100 - 16s - loss: 0.4833 - acc: 0.7735 - val_loss: 0.4979 - val_acc: 0.7400\n",
            "Epoch 44/100\n",
            "100/100 - 16s - loss: 0.4917 - acc: 0.7625 - val_loss: 0.4503 - val_acc: 0.7740\n",
            "Epoch 45/100\n",
            "100/100 - 16s - loss: 0.4824 - acc: 0.7645 - val_loss: 0.4784 - val_acc: 0.7760\n",
            "Epoch 46/100\n",
            "100/100 - 16s - loss: 0.4623 - acc: 0.7805 - val_loss: 0.5647 - val_acc: 0.7290\n",
            "Epoch 47/100\n",
            "100/100 - 16s - loss: 0.4708 - acc: 0.7735 - val_loss: 0.4566 - val_acc: 0.7860\n",
            "Epoch 48/100\n",
            "100/100 - 16s - loss: 0.4734 - acc: 0.7640 - val_loss: 0.4955 - val_acc: 0.7530\n",
            "Epoch 49/100\n",
            "100/100 - 16s - loss: 0.4744 - acc: 0.7650 - val_loss: 0.4747 - val_acc: 0.7780\n",
            "Epoch 50/100\n",
            "100/100 - 16s - loss: 0.4654 - acc: 0.7815 - val_loss: 0.4474 - val_acc: 0.7920\n",
            "Epoch 51/100\n",
            "100/100 - 16s - loss: 0.4721 - acc: 0.7705 - val_loss: 0.4497 - val_acc: 0.7710\n",
            "Epoch 52/100\n",
            "100/100 - 16s - loss: 0.4660 - acc: 0.7805 - val_loss: 0.4476 - val_acc: 0.7880\n",
            "Epoch 53/100\n",
            "100/100 - 16s - loss: 0.4569 - acc: 0.7885 - val_loss: 0.5189 - val_acc: 0.7560\n",
            "Epoch 54/100\n",
            "100/100 - 16s - loss: 0.4666 - acc: 0.7755 - val_loss: 0.4667 - val_acc: 0.7830\n",
            "Epoch 55/100\n",
            "100/100 - 16s - loss: 0.4612 - acc: 0.7740 - val_loss: 0.4371 - val_acc: 0.8000\n",
            "Epoch 56/100\n",
            "100/100 - 16s - loss: 0.4726 - acc: 0.7740 - val_loss: 0.4410 - val_acc: 0.7850\n",
            "Epoch 57/100\n",
            "100/100 - 16s - loss: 0.4604 - acc: 0.7885 - val_loss: 0.4830 - val_acc: 0.7620\n",
            "Epoch 58/100\n",
            "100/100 - 16s - loss: 0.4573 - acc: 0.7810 - val_loss: 0.5079 - val_acc: 0.7520\n",
            "Epoch 59/100\n",
            "100/100 - 16s - loss: 0.4599 - acc: 0.7795 - val_loss: 0.4241 - val_acc: 0.8020\n",
            "Epoch 60/100\n",
            "100/100 - 16s - loss: 0.4548 - acc: 0.7900 - val_loss: 0.4638 - val_acc: 0.7790\n",
            "Epoch 61/100\n",
            "100/100 - 16s - loss: 0.4528 - acc: 0.7890 - val_loss: 0.6351 - val_acc: 0.7150\n",
            "Epoch 62/100\n",
            "100/100 - 16s - loss: 0.4423 - acc: 0.7870 - val_loss: 0.4093 - val_acc: 0.7980\n",
            "Epoch 63/100\n",
            "100/100 - 16s - loss: 0.4478 - acc: 0.7895 - val_loss: 0.5006 - val_acc: 0.7580\n",
            "Epoch 64/100\n",
            "100/100 - 16s - loss: 0.4318 - acc: 0.8040 - val_loss: 0.4575 - val_acc: 0.7830\n",
            "Epoch 65/100\n",
            "100/100 - 16s - loss: 0.4360 - acc: 0.7955 - val_loss: 0.4086 - val_acc: 0.8130\n",
            "Epoch 66/100\n",
            "100/100 - 16s - loss: 0.4362 - acc: 0.8005 - val_loss: 0.4874 - val_acc: 0.7760\n",
            "Epoch 67/100\n",
            "100/100 - 16s - loss: 0.4375 - acc: 0.7890 - val_loss: 0.4464 - val_acc: 0.7920\n",
            "Epoch 68/100\n",
            "100/100 - 16s - loss: 0.4333 - acc: 0.7975 - val_loss: 0.4987 - val_acc: 0.7690\n",
            "Epoch 69/100\n",
            "100/100 - 16s - loss: 0.4319 - acc: 0.7990 - val_loss: 0.5106 - val_acc: 0.7630\n",
            "Epoch 70/100\n",
            "100/100 - 16s - loss: 0.4220 - acc: 0.7980 - val_loss: 0.4115 - val_acc: 0.8000\n",
            "Epoch 71/100\n",
            "100/100 - 16s - loss: 0.4290 - acc: 0.8065 - val_loss: 0.4666 - val_acc: 0.7830\n",
            "Epoch 72/100\n",
            "100/100 - 16s - loss: 0.4287 - acc: 0.8050 - val_loss: 0.4131 - val_acc: 0.8070\n",
            "Epoch 73/100\n",
            "100/100 - 16s - loss: 0.4169 - acc: 0.8065 - val_loss: 0.4447 - val_acc: 0.7820\n",
            "Epoch 74/100\n",
            "100/100 - 16s - loss: 0.4264 - acc: 0.8020 - val_loss: 0.4381 - val_acc: 0.7860\n",
            "Epoch 75/100\n",
            "100/100 - 16s - loss: 0.4304 - acc: 0.8030 - val_loss: 0.4682 - val_acc: 0.7750\n",
            "Epoch 76/100\n",
            "100/100 - 16s - loss: 0.4179 - acc: 0.8070 - val_loss: 0.4138 - val_acc: 0.8240\n",
            "Epoch 77/100\n",
            "100/100 - 16s - loss: 0.4223 - acc: 0.8040 - val_loss: 0.4037 - val_acc: 0.8120\n",
            "Epoch 78/100\n",
            "100/100 - 16s - loss: 0.4175 - acc: 0.8090 - val_loss: 0.4939 - val_acc: 0.7670\n",
            "Epoch 79/100\n",
            "100/100 - 16s - loss: 0.4124 - acc: 0.8070 - val_loss: 0.4126 - val_acc: 0.8000\n",
            "Epoch 80/100\n",
            "100/100 - 16s - loss: 0.4161 - acc: 0.8065 - val_loss: 0.4030 - val_acc: 0.8200\n",
            "Epoch 81/100\n",
            "100/100 - 16s - loss: 0.4124 - acc: 0.8090 - val_loss: 0.4272 - val_acc: 0.8010\n",
            "Epoch 82/100\n",
            "100/100 - 16s - loss: 0.4064 - acc: 0.8140 - val_loss: 0.4197 - val_acc: 0.8130\n",
            "Epoch 83/100\n",
            "100/100 - 16s - loss: 0.4061 - acc: 0.8190 - val_loss: 0.4141 - val_acc: 0.8030\n",
            "Epoch 84/100\n",
            "100/100 - 16s - loss: 0.4151 - acc: 0.8190 - val_loss: 0.4201 - val_acc: 0.8000\n",
            "Epoch 85/100\n",
            "100/100 - 16s - loss: 0.4098 - acc: 0.8145 - val_loss: 0.4511 - val_acc: 0.7870\n",
            "Epoch 86/100\n",
            "100/100 - 16s - loss: 0.4075 - acc: 0.8145 - val_loss: 0.4223 - val_acc: 0.8210\n",
            "Epoch 87/100\n",
            "100/100 - 16s - loss: 0.4066 - acc: 0.8185 - val_loss: 0.3920 - val_acc: 0.8190\n",
            "Epoch 88/100\n",
            "100/100 - 16s - loss: 0.3973 - acc: 0.8120 - val_loss: 0.4364 - val_acc: 0.8010\n",
            "Epoch 89/100\n",
            "100/100 - 16s - loss: 0.4004 - acc: 0.8190 - val_loss: 0.3986 - val_acc: 0.8180\n",
            "Epoch 90/100\n",
            "100/100 - 16s - loss: 0.4016 - acc: 0.8020 - val_loss: 0.4252 - val_acc: 0.8020\n",
            "Epoch 91/100\n",
            "100/100 - 16s - loss: 0.3832 - acc: 0.8205 - val_loss: 0.4061 - val_acc: 0.8080\n",
            "Epoch 92/100\n",
            "100/100 - 16s - loss: 0.3966 - acc: 0.8095 - val_loss: 0.3813 - val_acc: 0.8190\n",
            "Epoch 93/100\n",
            "100/100 - 16s - loss: 0.3834 - acc: 0.8205 - val_loss: 0.3853 - val_acc: 0.8170\n",
            "Epoch 94/100\n",
            "100/100 - 16s - loss: 0.3840 - acc: 0.8265 - val_loss: 0.4290 - val_acc: 0.7960\n",
            "Epoch 95/100\n",
            "100/100 - 16s - loss: 0.3837 - acc: 0.8255 - val_loss: 0.3881 - val_acc: 0.8220\n",
            "Epoch 96/100\n",
            "100/100 - 16s - loss: 0.3853 - acc: 0.8245 - val_loss: 0.4822 - val_acc: 0.7780\n",
            "Epoch 97/100\n",
            "100/100 - 16s - loss: 0.3845 - acc: 0.8260 - val_loss: 0.5560 - val_acc: 0.7680\n",
            "Epoch 98/100\n",
            "100/100 - 16s - loss: 0.3824 - acc: 0.8280 - val_loss: 0.4779 - val_acc: 0.7760\n",
            "Epoch 99/100\n",
            "100/100 - 16s - loss: 0.3924 - acc: 0.8245 - val_loss: 0.3900 - val_acc: 0.8190\n",
            "Epoch 100/100\n",
            "100/100 - 16s - loss: 0.3584 - acc: 0.8440 - val_loss: 0.3830 - val_acc: 0.8220\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "I3yFv2Jpb2Dl",
        "colab_type": "code",
        "outputId": "5a480a72-c255-4d89-abb2-7bd2a1cf8ca8",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 545
        }
      },
      "source": [
        "import matplotlib.pyplot as plt\n",
        "acc = history.history['acc']\n",
        "val_acc = history.history['val_acc']\n",
        "loss = history.history['loss']\n",
        "val_loss = history.history['val_loss']\n",
        "\n",
        "epochs = range(len(acc))\n",
        "\n",
        "plt.plot(epochs, acc, 'bo', label='Training accuracy')\n",
        "plt.plot(epochs, val_acc, 'b', label='Validation accuracy')\n",
        "plt.title('Training and validation accuracy')\n",
        "\n",
        "plt.figure()\n",
        "\n",
        "plt.plot(epochs, loss, 'bo', label='Training Loss')\n",
        "plt.plot(epochs, val_loss, 'b', label='Validation Loss')\n",
        "plt.title('Training and validation loss')\n",
        "plt.legend()\n",
        "\n",
        "plt.show()"
      ],
      "execution_count": 6,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEICAYAAACzliQjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJztnXmYHFXV/z8nE5KQQPZAQpZJSMKm\nIsIQ9kVBCLuvCi8h8IIiQX+ggCuKssQXRUHZRDAioiQsCqh5FUWQRXYzYZMAgRCyQmCyE0L28/vj\n1LWqe7q6a2a6Z5Lu83mefqrr1q2qW10z3zp17rnniqriOI7j1AadOroBjuM4Tvvhou84jlNDuOg7\njuPUEC76juM4NYSLvuM4Tg3hou84jlNDuOjXICJSJyKrRGRYOet2JCIySkTKHn8sIoeLyJzE+kwR\nOShL3Vac62YR+U5r93ecLHTu6AY4pRGRVYnV7sBaYGO0fraqTmnJ8VR1I7BNuevWAqq6czmOIyJf\nAE5V1UMTx/5COY7tOMVw0d8CUNX/iG5kSX5BVR9Mqy8inVV1Q3u0zXFK4X+Pmxfu3qkCROR/ReQu\nEblDRN4DThWR/UTkaRFZLiJvi8h1IrJVVL+ziKiIDI/WJ0fb/yoi74nIUyIyoqV1o+1HichrIrJC\nRK4XkSdE5IyUdmdp49kiMktElonIdYl960TkahFZIiKzgbFFfp+LROTOvLIbROSn0fcviMgr0fW8\nEVnhacdaICKHRt+7i8htUdtmAHvl1f2uiMyOjjtDRI6Pyj8C/Aw4KHKdLU78tpcm9v9idO1LROSP\nIjIoy2/Tkt85tEdEHhSRpSKySES+mTjP96LfZKWINIrIDoVcaSLyeLjP0e/5z+g8S4HvishoEXk4\nOsfi6Hfrldi/PrrGpmj7tSLSLWrzrol6g0RktYj0S7tepwSq6p8t6APMAQ7PK/tfYB1wHPYg3xrY\nG9gHe5vbEXgNODeq3xlQYHi0PhlYDDQAWwF3AZNbUXc74D3ghGjbV4H1wBkp15KljX8CegHDgaXh\n2oFzgRnAEKAf8E/7cy54nh2BVUCPxLHfBRqi9eOiOgJ8AvgA2D3adjgwJ3GsBcCh0fergEeAPkA9\n8HJe3ZOAQdE9OSVqw/bRti8Aj+S1czJwafT9iKiNewDdgJ8DD2X5bVr4O/cC3gHOA7oCPYEx0bZv\nAy8Ao6Nr2APoC4zK/62Bx8N9jq5tA/AloA77e9wJOAzoEv2dPAFclbiel6Lfs0dU/4Bo2yTg8sR5\nvgb8oaP/D7fkT4c3wD8tvGHpov9Qif2+Dvw++l5IyG9K1D0eeKkVdT8PPJbYJsDbpIh+xjbum9h+\nL/D16Ps/MTdX2HZ0vhDlHftp4JTo+1HAzCJ1/wycE30vJvrzkvcC+H/JugWO+xJwTPS9lOj/BvhB\nYltPrB9nSKnfpoW/82nAtJR6b4T25pVnEf3ZJdrw2XBe4CBgEVBXoN4BwJuAROvPA58u9/9VLX3c\nvVM9zE+uiMguIvKX6HV9JTAR6F9k/0WJ76sp3nmbVneHZDvU/ksXpB0kYxsznQuYW6S9ALcD46Lv\np0TroR3HisgzkethOWZlF/utAoOKtUFEzhCRFyIXxXJgl4zHBbu+/xxPVVcCy4DBiTqZ7lmJ33ko\nJu6FKLatFPl/jwNF5HcisjBqw615bZijFjSQg6o+gb01HCgiHwaGAX9pZZsc3KdfTeSHK/4CsyxH\nqWpP4GLM8q4kb2OWKAAiIuSKVD5taePbmFgESoWU/g44XEQGY+6n26M2bg3cDfwQc730Bv6esR2L\n0togIjsCN2Iujn7RcV9NHLdUeOlbmMsoHG9bzI20MEO78in2O88HRqbsl7bt/ahN3RNlA/Pq5F/f\nj7Cos49EbTgjrw31IlKX0o7fAqdibyW/U9W1KfWcDLjoVy/bAiuA96OOsLPb4Zx/BvYUkeNEpDPm\nJx5QoTb+DjhfRAZHnXrfKlZZVRdhLohbMdfO69GmrpifuQnYKCLHYr7nrG34joj0FhvHcG5i2zaY\n8DVhz7+zMEs/8A4wJNmhmscdwJkisruIdMUeSo+pauqbUxGK/c5TgWEicq6IdBWRniIyJtp2M/C/\nIjJSjD1EpC/2sFuEBQzUicgEEg+oIm14H1ghIkMxF1PgKWAJ8AOxzvGtReSAxPbbMHfQKdgDwGkD\nLvrVy9eA07GO1V9gHa4VRVXfAf4b+Cn2TzwSeA6z8MrdxhuBfwD/BqZh1nopbsd89P9x7ajqcuAC\n4A9YZ+hnsYdXFi7B3jjmAH8lIUiq+iJwPfCvqM7OwDOJfR8AXgfeEZGkmybs/zfMDfOHaP9hwPiM\n7con9XdW1RXAJ4HPYA+i14BDos1XAn/EfueVWKdqt8htdxbwHaxTf1TetRXiEmAM9vCZCtyTaMMG\n4FhgV8zqn4fdh7B9Dnaf16rqky28dieP0DniOGUnel1/C/isqj7W0e1xtlxE5LdY5/ClHd2WLR0f\nnOWUFREZi0XKfICF/K3HrF3HaRVR/8gJwEc6ui3VgLt3nHJzIDAb82UfCfyXd7w5rUVEfoiNFfiB\nqs7r6PZUA+7ecRzHqSHc0nccx6khNjuffv/+/XX48OEd3QzHcZwtiunTpy9W1WIh0sBmKPrDhw+n\nsbGxo5vhOI6zRSEipUalA+7ecRzHqSlc9B3HcWqITKIvImPFpombJSIXFtg+LMqV/ZyIvCgiR0fl\nw0XkAxF5PvrcVO4LcBzHcbJT0qcfjaq8ARuqvQCYJiJTVfXlRLXvYomQbhSR3YD7sBzfAG+o6h7l\nbbbjOI7TGrJY+mOAWao6W1XXAXdio+OSKJbvG2xShrfK10THcRynXGQR/cHk5sZeQPN0uZdiGfcW\nYFb+lxPbRkRun0dF5KBCJxCRCdFUbI1NTU3ZW+84jlMFTJkCw4dDp062nDKlcucqV0fuOOBWVR2C\nzWB0m4h0IsoOqKofw6bOu11EeubvrKqTVLVBVRsGDCgZZuo4jlM1TJkCEybA3LmgassJEyon/FlE\nfyG5E0UMoflEDmdiucVR1aewOT37q+paVV0SlU/HZuHZqa2NdhzHqRYuughWr84tW73ayitBFtGf\nBowWkREi0gU4GcuHnWQe0cQT0SQN3YAmERkQZsOJMuWNxpJxOY7jOMC8lDRyaeVtpaToRxMcnAvc\nD7yCRenMEJGJInJ8VO1rwFki8gI2488Z0UQLBwMvisjz2CQXX1TVpZW4EMdxnC2RYSkTfaaVt5XN\nLstmQ0ODehoGx3FqheDTT7p4uneHSZNgfAvmShOR6araUKqej8h1HMfpQMaPN4GvrwcRW7ZU8FvC\nZpdwzXEcp9YYP75yIp+PW/qO4zg1hIu+4zhODeGi7ziO006058jbNFz0HcdxWklSxPv3t0++oIc6\nInDaae038jYND9l0HMdpBYVCLZOImLiHZTHq6+Hyy9vWmeshm47jOBWkUPqEJEHos9jV7Wn1u+g7\njlNRXnoJrrwym/htLhTzvYdtczPNSJudSubbSeKi7zhORfn1r+Gb34SnnirfMbP40tPqF/K3J8uL\nZb1MbqsElTpuEh+c5ThORVmwwJbXXQf7759tn5kzYaedzB+eT74vfcmSeFsQaDD/+OWXwz33wIwZ\nsG5dbp0nnoDf/CY+TijfeuviWS+LuXSyUMzH36VL3A9QKdzSdxynoiyMErHffXf8ACjGM8/ALrvA\nn/9ceHspX3pSoG+5BZ57Lhb8ZJ1JkwqLe/IhkmTu3OKW+DbbxN/zRTus19fDbbfB5MmWXyfJVlvB\nTTdVVvDBRd9xnAqzcCEccIBZsDfeWLr+3/5my3zRb4kvfe5c6NcPZhdJ5L5xY+njZKW+Hs4+275/\n5jMm7MlcOrfdZtc/Z06ccmHSJOgc+VoGDzY32Oc+V742peGi7zhOxVCFt94y0T/hBPjFL+CDD4rv\n89BDtvz732M3SGt86UtbmcS9X7/mVjjAIYfA175m/v8k3bubG2n6dFufO9dEfc4c2LQpFvp8xo2D\nujr4+tftDchz7ziO02Y2bOjY8y9ebK6VwYPhK18x18kdd6TXf/996/DdbjsTyzfesPJSLp1y0b07\nXHttbtbLnj1tefPNcNVVZpEn3TWTJpmAP/uslWWd/OTdd2HtWjtGe+Ki7zhVymOPmZ+5UjMwZSH4\n8wcPNkt5991NVCdPLhxN88QTsH49fO97tv6//1vapdOvn33aSqdO5lMP7pc5c+xtYd0669zdaSdr\nS10dHHkk7LZbbMW/8QasXGnb33239NsMxNfkou84Tll49FGzJJ9/vuPaMHmyLT/7WRgxwkT/xRfh\nrLNyQyJPO82s5xNPNFH93OdgwADbv5jg19fb28TixW0Xz02bTLSTnH02rFljbxnJ8M2ePeHll6Gp\nyeoF185//Zcts3RYu+g7jlNWXnrJlrNmte04aTHxpeLjp0yB66+P1+fOhd//3r6vWZNbN/juV640\n8a2vN0Et1tkafOmByy8v7ItP1u/Vq/C2oUOha1cL7wx88IFFHOWzejX885/2PSynT7f9jzrK1rO8\nXYU6LvqO47SK/IFGTzxh5W0R/fyBSkuW2Cf/e6E0Ahdd1DxUcu3a0ucMxy6GCPzkJ7mdn8kZqEKd\nrl1zZ6P62c+ah0R27Qo//CEccQTce2/8ALr4YnsAFWLRInuIPPKIrU+fbm8xI0faehbRnzvXHkJp\nD6JK4aLvOFVAoVGkwcUQOkNbQ0s6UFevhlNPjd8AKjW6dNAgW86Z03xb8MW/+679DldckRtBc+qp\n8IlPxMLfqRP88pe2bdAgmD/fyvr1s07bZOx9kvp6G2j26KN2nmefhb32sr4LkeyiX6nJz4uRSfRF\nZKyIzBSRWSJyYYHtw0TkYRF5TkReFJGjE9u+He03U0SOLGfjHccx0sRZxCz91uZxb00ncHgDqATd\nu1sen1NOsRG+ixYVrjdzpi133rn5tvPPj635M86w/oQpUyyWPrB0qf1W48c3dxkFt9Ihh8C//w3T\npsGKFbDnnvbWMHBgdtFvb9cOAKpa9APUAW8AOwJdgBeA3fLqTAK+FH3fDZiT+P4C0BUYER2nrtj5\n9tprL3WcWuaBB1Qffrhl+4iompQ1/4iobr11bln37qqTJ+ceY/Jk1fp6q19fH6+nHbdcn2JtT36G\nDo3b/Prrqp07q+68s+pf/9r897j5ZtvnjTeab1u1SrVrV9v+xz9aWdp1Jn+H5O+iqvrPf1qdceNs\nOX26le+zj+phh5W+Z716qZ5zTul6WQEatYSeqzW1pOjvB9yfWP828O28Or8AvpWo/2ShusD9wH7F\nzuei71QbDz9sQpOVPfZQ/fCHW3aONNHq2zddRPOFPU18s4pyaz6hDUOGxA+jLl2a1zvqqObXfP/9\nqqNH2/ZjjlGdNy/e9o1vmLBv2FD49zriCNVu3eL7Uuza01izxo5RV2dtXrvWyk880dpVjOXL7fg/\n/nHxei0hq+hnce8MBuYn1hdEZUkuBU4VkQXAfcCXW7AvIjJBRBpFpLEpxEA5ThUwaxZ8/OO5USal\nWLjQEoStWJFeZ906WLYsXk+LXCk2KjV0vgbfu2rheqqxD7xzZwupBHNlZI2PLzTKNbhJxo+Po3we\nfNDy5YSBUcOGWfhmIXfUEUfEaZsfeQS+9KV428yZMGpU3NZ8fvpTi8zp0cPW03zrxXzuXbvCvvta\nhNFHPmLJ0sDaPm9e8VTSHRW5A+XryB0H3KqqQ4CjgdtEJPOxVXWSqjaoasOAAQPK1CTH6XimTrXl\nHXdkyye/bp2FKqpa4rE0rroKPvzh+Jj5kStZqKvL3kmragLYtauJ6xFHWFK0xYsLJw9L0qVL7ijX\nwM9+FkffvPqqLT/0odwUBnPn2kOgT5/0Y3/96+an/+tfYzGdObOwPz/woQ/BMcfE64UemvkhoYU4\n9FBb7rVXXDZsmEUpFbNfw4N2c+3IXQgMTawPicqSnAn8DkBVnwK6Af0z7us4VcvUqdYhOGcO/Otf\npeu//Xb8/ckn0+u9+abltEkKSxDLoUNTd/sP3bu3POHYvHmWJmGffWDvvc3KXr0694Ej0nyE7AUX\n5I5yvfVWKz/ooLjOq6/CDjvYoKfWcOaZ9mC65RYb0fvGG8VFP5/8awghnqXy4QTRb0hMUhiEvFhn\nbkcNzIJsoj8NGC0iI0SkC3AyMDWvzjzgMAAR2RUT/aao3ski0lVERgCjgQx/+o6z5bNkCTz+OJxz\njlmkxXLOBN56K/5+773pETfLl9vyzTebH2P+/OZlgaSgtVRw+va15b77muhv3BiP9k1a52GEbGjv\n//xP7nHCQykpiq++am8OrWXECHv7+NWvzKW2YUPLRB+yJUnL5+CDLSf/qafGZVlFv0sX2H77lrWx\nHJQUfVXdAJyLdcK+AvxOVWeIyEQROT6q9jXgLBF5AbgDOCPqW5iBvQG8DPwNOEdVy5jQ1HEqz6xZ\nMHFi+kAdKBwS+de/mjCedhocfTT87nexdZ0WQhly1YwebeGAhVIVDB8eu0Nuu635cdL87PX1dg2X\nXAL/7//ZMdPyvufTvbv5rfv1swFIe+9t5dOmpf8mybw7SYIohoeTql3PrrumHysLEybY2IRrrrH1\nlop+axCxh9rWW8dlWUV/2LDmGTvbhSy9ve358egdZ3PjtNMs0uKFFwpvnzzZok7yQyLHjFEdNEh1\n40bVu+6y8ocfTq8/ebLqtdfaep8+rYuG6d5ddffdC2/77W/tHPnRMSFyJRmO2NBgIZGhzo9/rPqh\nD+VG0eywg+r48em/23nnqfboobppU275Bx/YMSdOtPW33rL1669v7R0y1q1T3X571U6d7HhLl7bt\neK1l0ya7D+efn15n332zhXW2BMoYveM4Nct778X5WB59NHdbsFALDYxavdqs4OOOM2vumGMsUuSO\nO9LrX3SRWcdbbZUbmdMSVq+G114zd0fwTwe3zMEHF06NoGp1ky6Ndetg7NjY9/zee5ZgbJ994v32\n3ru0pR9GqCbp1s1SJwdLP7y1tMW9A/a7ff7z9jYzYEB652+lCVFHWSz9jsBF36l5ikXV3HOPCWm3\nbs1F/09/MpdEWroBVTg+coD26GHf7747vf68eebT32GHtgnCmjU2WjT4p8NDa9as4udOtnvWLAt5\nHDYMPvpRc5moNhf9116L+xcgt3N44UIYMqTw+YYOjc9ZLtEH+MIXbNkerp1iFBP9tWutw75DRuPi\nou/UON/4hnUApnHllRabvmYN/OEPcapgiMU0WNL5iFiel8C4cRY3v912hesPGxZbxz/4QXqMeRY+\n/OH4+6hRtpw1yyzgtHMHFi2yB13Y7/jjzdIHGDMmrhf8+tOn28Nk333tE/o+wrWknS9p6W+zTXrd\nlrDjjnZPTz+97cdqCyFWvxDhul30HacdyO9Ave8+m2ykUPjitdeaSyPMPrVpk+WBnzIFfvtbuP12\nK1+9Oh6YExCxXCzJDr4jjjBx23335jHhIiacjz1m5xs/3nLQJ7dnoWtXWyZFf4cdrHzWLJsIJJ/8\nePSQlTMp+mD7Jh9wIUzxuuvsWp99Fhob7Q1o0yZ7a0kT8mDpBxfZLruUb0LwH/84tvg7imHD0idT\n6chwTXDRd2qIQpkoX3nFXrcLZWy85JLmZWvWwHnn2XGCRbtmjR2vXz8Trh12sPUvfjF3365dzT2y\nZEnzFMDBxbRhg8Xzi8Rpe6dOjSfaLkZ9Pfz3f9v3pOh36mQRNy+/bLH1Bx0UW/bbbts8Hj1f9Pfc\n0yzoj38893x9+9pxp041N86LL1q9K66w8QMbNhQX/VWrbNRxW8M1N0fC71toMpWOHI0LLvpODVGo\nAzWIbfArJ8vT0iAsWdI8L/z69WbFb9pkliaYqyOf/faDF16wScLnzLF//LQ+hXfesWVI/TtnjtW9\n4orcet/5jpWH7QMH2oMnyahRcP/9dk3f/KY98A4+2Pok8uPRZ80yl1YQpU6dzIK/+urmbfz6123w\n1VNPmXB/85v20ApusGLuHbCH7rx51Sv6hVw8IVQ2rb+j0rjoOzVDsWiKfNF/+unWH//22+2f+iMf\naT6oav/97cEQol6ypOD9+99z1w880JY33mjLYJGDHXfvvZu7SkaNMhfWttvCJz8Zt+W555q7IGbN\nMsHv3Dku69Mn11UV+OIXLY9NcFedfro9dCZOtPVilj5Yrh2oPdEfNKi5S7C9cNF3ysKaNWbtdgSr\nV5uQFssZv3p18fQEl16aW//ee030CgndttsWPsawYXaMv/0ttt6Tg6r694+t6k9/2upmidLJf6sI\n0TK7727XGkblrlxpOWdCB2uS8GA49tjY77/ffnbPwvyugRC50xq6dTPLf+VKWy9l6YcHWrWJ/pAh\n9lsEF12SDsujH+Gi77QZVTj88ObD7duDtWtNQM4+u7m//qyzzKVz6qnmbx8xIj0x2KpVudP9/etf\nlkTrl7+M492DyyRkZkzSpYt1hn7nO81H7oYHwJIlcfz98uV2vqOPLp6sDJpb7UH0BwwwcQmiP326\nnauQ6IfRrieeGJftt58tkzl+VC1vTWtFH8z679XLHkhpaQYGDrSH6tNPW5RSW863OdKliyWmmzw5\nntAF7GEY+j46jCwjuNrz4yNytzwef9xGQO6yS/ufe84cO/c226SPUu3VS3W77WyUaamJQerrLQd7\njx6q556be67bbrPc6WDLfv3i/U44weq0Np98Wpu22sqWa9bE7fjZz6zs3XdVDzlE9YADrPxHP7Ly\npqbmv9OmTTYaOH907OjRqp/6VLze1GTHuPrqttwV1Z/+1HLcFyNcc6nc81sq77xjf0cnnxyXffGL\nNmL4mWfKfz58RK7TXlx3nS2Dld2ehIyNq1al13n7bRsZu2BB3CGaFh44b575999/P9dinjLF3iZC\naOfGjeYLnzzZXBMhh0pLM4PPmxe36ctfNndSMtNjSOS1eHG8T7D0e/Wyt5dg6U+bZuv9+zc/j4hl\nhMy/7v32M0s/3Lf8yJ3WcsEF8Oc/F68T3G3V5toJbLedRXrdeadZ948+CjfdZGmgk+Md2hsXfadN\nzJ9vg5QGDDARbM85cKZMsUFMxejXz4R0yBCLhgkpCIpNmhE6WZOiXyx1wq67WhQKwAEHtOwaku14\n6y3ri0hmejz2WNuW/F2XLzeXUJcuJvJvvWW/fejEbQn772/x5LNn23q5RD8L1S76YNFNvXrBt75l\nYwd23DHu5O4oXPSdNnHjjWYlfve7tl4o3r3chA7bU09tnkcmny9/2epff721c8cdbf3yy3OjUyD2\ny0+ZYhbxbrvFHcJpUTbz5pnov/66tSXEpidj8NOoq8sdFLVwYfNQy2C154t+7972PfiGGxvtTas1\nog+WARRM9EXsYVJpwgOvmkW/Tx8T/r/9zX7bX/6ycJ9Qe+Ki77SaDz6wgT0nnGC5XiA9t0tLCcIe\nUgmHDtbkAKtiBFEcNMjqh2kDFy60dTCBTAp/p072IHnwwdzomwkT0lMtDBtmD4eNG+2f+rnnzI0S\nYubDoKrk5CIi9vYxcGBujHyhEazBXZTv3gnXF8T597+Pr6klfPjD5vr67nfhL3+xaxg6NI7wqSTB\n0m9rSuXNnfPOs7/hc8/NTcvRYWRx/Lfnxztytxxuvtk64h55RHXZMv1PCt62Uij18FZb5Xacluoc\nPeSQOMVuWp1PfEJ1//3tfKUm/+7XLz0d8vTptv7zn9vyJz8pfY3f/77VXbbM1jdutFTGF16YWy90\nrF57bVx2+OHWblXVhQtt+8CBdg0rV7b8937vPdU997ROx6FD7XdpDxYsUP3yl+MJxauZ9rhGvCPX\nqSSrV9vI0913t5GdvXvbpy2WftJtk+8/X7/eQh5L0b27hUE+9ljxSU/mzbPEYgMHml++VAf00qXp\n0+mFvDEhF8/HPla6ncGtEgaBLV5cOG1Bnz527DT3zsCBZpUvWmQWc9oYgmJss411uvbta3007RU+\nOXiwBQF01CCl9mRzukYXfacoaQOezjvP0upeeWXstw452ZOsWgUzZpQeuJXVbVOMbbYxIb7vvuKC\nD+aWeecdiyPPMip22LD06fS6d7drf/xxW99jj9LHGzPGftN//tPWwzSJ+T79ujpzCaW5d8J9gZa7\ndpIMGmTunX79ctMnO9WHi76TSqEEZRMmmG/y5pvhwgtz0xIPH95ctM8/3/zG225rovTDHxY+V6Ho\nmKzU1VkGyD33NCEu9eDo3h0uu8zeHLbfvvSo2PwslIXYbTdbDh+ebfKObbaxSUp+8QsbsJM2tSCY\nXz/N0ofYr98W0QdLG7FokU1E4lQvLvpOKmlhij//ubkn8kPPgqWfdJU89ZSJ8Ve+Ylb/977XfF7X\nb32rbRb+2LEWKvn667Y+cGB63S5d7G0g5J/ZfnsT9G7dcusl317ys1AWInRGZnHtBCZONLfR1VfH\nln4p0Vc10e/VK94eInjaKvrQPKLJqT5c9J1U0tweqjbt31Zb5ZYPH27CHiJlVq+2gU7HHmuzL737\nrkW5/M//5L49/PSnpduSL0bdu5uVDBYRMWqUDcJatSrO/55f/+CD4/w3ixZZeYigueGGuG6vXvZg\nUs114xQjWPotEf299rIcPD/5iU2CLlI4bUH//rHor15tvv+kpX/ggWbtf/Sj2c/t1C4u+k4qaW6P\n3r0Lbwux6cFqf/FF83+vXJkbNplPmKQk39oOQi9iQp7fiXrwwbZ94EAYPdq+v/GGdUjW1Vkbk/UP\nOcQeDOvXx2mLg8h+/vNx+6dMySb0Sfbay5YtHZw1caI9qG66ydqS/yAFs/SDTz+Mxk2K/rhxNriq\nPcIsnS2fTKIvImNFZKaIzBKRCwtsv1pEno8+r4nI8sS2jYltU8vZeKd8qMItt+R2GF5+eeFkYOef\nX/gYoUMxdOY+95wtf//7bP76Cy/MFfZPftLOv+uu8UQnyU7UpLUeRP/11y3B1ahR9vBJ1h861K7z\n7bebiz7Eg4Ra4yb56EftPC2Nw/7Qh+CUU+xBlN+JGxgwwPofNm0qLPqO0xJKir6I1AE3AEcBuwHj\nRGS3ZB1VvUBV91DVPYDrgXsTmz8I21S1wIu3Uy5WrcrN6NcS/v1vOPPM2BoGE8pkmOK225pP/Nvf\nzt03RPgEa/e008xff8EFtl/RSFVmAAAf8ElEQVTopCzFgQfmCnt9vY1e3HtvSzGQH1aZFP0QZhhE\nv9DE2GHSigULCov+kUfa20PaHLalaG263EsvtTeTtDTE/fvbb7J0qYu+03ayWPpjgFmqOltV1wF3\nAicUqT8OuKMcjXNaxsSJFjffmlQIb7xhy1dfNeELkzcnwxRHjzb3RTLmuFCo5erVJtBr17YsAdu4\ncbk57d9/Pxb9d9+N2xQID6eBAy0aZtAga/+sWaVFf9Ei2yc5JP6CCywpVnszahT85jc261Qhwqjc\npiYXfaftZBH9wUDy321BVNYMEakHRgAPJYq7iUijiDwtIp9K2W9CVKexqT0zdlUZDz5o+V9ak9Ap\nZGqcOtUE9qCDckX2vffg+efjWZsCrQ21LJSTpqkpN6f9+++beye4W0IitMCiRfYACiGSo0bFv0EW\nSz8t13tHMH588982kEzF4KLvtJVyd+SeDNytqhsTZfWq2gCcAlwjIiPzd1LVSaraoKoNA1qam9YB\nTAyef94E8De/sYFThXjpJRs8FFwjgTffhJ49bTTrQw+ZKCYzWD79tFn7+cKUZWBTPl27pk/0HTJX\nhu89epi/fKutCov+wIHxA2T06Dj0sZDo9+5tD5H58zc/0S+GW/pOOcki+guB5ERzQ6KyQpxMnmtH\nVRdGy9nAI0ALgtqcrDz+uLlSbrrJknldcknher/4hU3M/dRTueWzZ1vYn4j55v/7v83iDnnqH3/c\n/PT5k31nme4vSY8ecZhkscyVELt3unY1t1Wa6AdCZy4UFn0R68wNln6xeP7NiWSmzWQufcdpDVlE\nfxowWkRGiEgXTNibReGIyC5AH+CpRFkfEekafe8PHAC8XI6GO7k8+qi5Oo47LnfihiQbNsQpdPM7\nfJ9/3t4OwoCp+npz6dx1l21/7DF7Q+jZ09ZD5+3cucXTByfp3t2iWxYutLeGYjntIRZ9MBdPY2Nu\neoU00e/Tp/BEImAunuDT39Is/cWLYcUKe6h7eKbTWkqKvqpuAM4F7gdeAX6nqjNEZKKIJKNxTgbu\njLK9BXYFGkXkBeBh4ApVddGvAI8+ajlTtt46nrjh4otzc+cMHmz+esgV/cmT44k4woCpK6+0+pMm\nWTjh00/Hrp38zlvVWPi32SY+bufOcSrhECs/dqw9fN55p3BO+2TKg9Wr45DRvfe2eP8w6hbSRX/n\nndMfRGFO2ZCCYUuga1eLnAqWvrt2nLaQadC1qt4H3JdXdnHe+qUF9nsS+Egb2udkYOVKmxQ7+MLD\nxA3f+55N3rB2rZUHwR850kR/yhTbp1AKhA8+MNH917/g17+OHwiF8uuAbauvt5j8MBXcWWdZyoYk\nU6N3xDB14U03matp40YTthtvjAdGJS39kATsySdN1DdsMBFMiv7IqLeokGsnEGbQgi1H9CFOxbB+\nvYu+0zZ8RG4V8MQT5vYIE5kAfPWrFvsdBD/JO+9YXH6prJbLlpmVGUIJb765eP1583I7ZwulJEhG\n0IC5pPbZx8o/+9nckbBJ0d91VxO+hx+29aYme9AkRb9HD3u7OfPM9DYOTfRObSk+fYhTMbil77QV\nF/0OYM0a65j8v/9Lr6MKxxyTHrud5NFHLbplv/3isu7d40m881m1yj6lQi3r6+HEE82P3LmzWfvF\nGDbMhHnrrW29kOgH0Q2iP3++CX6PHibySULIJph76uMft8iiMKoWmgv3ZZdZuGka4aEDW56lH0I2\nXfSdtuCi3wFMn26WdmNjep0//9nywv/616Vzwz/6qPm881MmtDSyJknwrYepBUN+nFL1w/SGdXWW\nUjmf/v3Nup8/38R7/nx7EGyzTRwpBPbAWrs2d/DUYYdZJ/Drr8chp4MGtey6tmTRd0vfKQcu+h3A\nk0/acvnywts3bTJ/fOfOZt0Vezi8/75tT7p2Aj/4QeuiPJLphA880NIuFHOF5Kcf3nVXs/LzE6iB\nPRRCBM2SJfbWM3Roc0s/vIUkRT/ktXnoodwUDC1hSxX94N5ZtsxF32kbLvodQIiRTxP9u++2WPqf\n/MTcGvfdV7ge2ANkw4bCoj9+PPzqV7nCWYzu3S2SJ5lOWMQeHldd1fxNolB9sLEAU4uk1guiH0b8\nFhL98D3Z9pEjre4//hGLfkuFu29fexjlp2DY3BkwwN58Fi920Xfahot+O6Na3NLfsME6I3fbDc45\nxzo5i4n+gw+aKyUtpe/48Saw/foV3l5XZ8vu3YtPFpKffK3Y5CL9+xd3uwTRD379Qu6dYOknHzQi\nZu0//LCFmPbqFfcfZCUM0NqSrHyIY/XBRd9pGy767cycOXHIYCHRnzLFwim//30T5KOPNvdNCLdM\nsny5Ce8xx+TGx+fTuzdce21zS13E0inX1VmysSDgafPips0R21KGDjXffBh5m9XSB/PrL1kCDzzQ\n+uibXXZpv8m/y4WLvlMuXPTbmWDlDx9eWPSvusqmF/yv/7L1o46yt4P7729e9yc/sWNcdlnp8+Zb\n6j17mqjvt591moYp99LmxU1mv2wrQ4ZYUrRnn7Woo+22s4dWFtH/+Mdt+dprrRf9W28t7/W0B8kR\nxi76Tltw0W9nnnzSBO6ggwqL/ptvwqGHxiNKP/Yxc0Xku3iamuCaa+Ckkyw9QhaSlvo115jYh7j3\nMLl22ry4YeBXOQidqU8+aaN+O3UycS/l3gn77rSTfW+t6Pftm+7u2lxxS98pFy767cxTT5mfvl+/\n5qK/dq1ZuH37xmWdOlnqgvvvz427v+IKE8ZCVn6aeyZJGLX617/aMoh+qSRo5SCI/quvxnH7PXqY\n9R9CQ9MsfYijeLakwVVtxUXfKRcu+u3IqlUWlbP//vaPu3JlrpAvW2bLfCt0221tW+fOJuLXX2/p\nDU47LZ7iL5DVPRNE/x//MJ9+EOJSSdDKQXJUbPge+iSC2BcT/cMOs2Utif6228bz57roO23BRb8d\nmTbNXCv77Rf/465cGW9fssSWSUt/yhQLuwzMnWtZNNevL5w+Oat7pl8/+7z3ngl6SHxWaF7cZBK0\ncjBgQCxgSUsfYhdPmnsHzNLfccc4H08tIBJb+y76Tltw0W9HQifuvvvG/7hJF8/SpbZMiv5FFzVP\nf6BqSdWCSyZJS9wzwdoPnbjQstDM1hIyfkJz0c9i6ffta9M7hk7dWiGIvufSd9qCi3478uSTFn/f\np0920U8T8SVLCvvuW+KeCaKf//AoV2hmMYI7KSxb4t6pVUJeI8+l77QFF/12YtMmy0kfkqIFa62U\n6KeJeN++hX33Rx+d3T2TJvrtQbDw09w7779vbxqFUjnUKgMGuGvHaTsu+u3Eq6+aqO+/v61ntfQL\n+dhFzNIv5Lu/777s7pmOFP1g4ae5d8IEKlln5aoFvvUtm2/AcdpCpklUnOysXm3/mOeck2ulPvSQ\nLUO4YZrod+5skRqBINZhshMRs+zTmDvX6l5+eWm3zKGHwqmnwuGHZ7q0snLSSRaiGgYdFXLvuGsn\nl49+1D6O0xbc0i8zt95qs1bdfXdu+UMPmUU9fLitFxL9JUvMys+3boOPvb6+uOAHso6i7d0bbrst\nNwa8vWhosNQQ4VoLuXdc9B2n/Ljol5k77rDln/4Ul4WRr8HKB0uDINLc0k+6dvJpyQCpco+irTRp\n7h3HccqLi34ZmT8fHn/cxCo5N+3zz5u4h0FFYBE3PXumi35LInPSKOco2krj7h3HaR9c9MvIXXfZ\n8gc/MDfFI4/YevDn58eV9+5dWPTTRtWmReak5ZEp5yjaShNSJLt7x3EqSybRF5GxIjJTRGaJyIUF\ntl8tIs9Hn9dEZHli2+ki8nr0Ob2cjd/cuPNO81VPmGBiHCYS+cc/LD4/P21AmuinjapNi8wplDa5\n3KNoK02nTtZmd+84TmUpKfoiUgfcABwF7AaME5HdknVU9QJV3UNV9wCuB+6N9u0LXALsA4wBLhGR\nPuW9hM2D11+3uW/HjTOr9YgjTPTXroXHHrMQxeCu6d/fPi+8YInUQodrEP1io2oLDZxqj1G07UEy\nvbJb+o5TGbKEbI4BZqnqbAARuRM4AXg5pf44TOgBjgQeUNWl0b4PAGOBO9rS6M2RO++05Ukn2fL4\n4+GPfzTxXb3aXD3r1tm2kGMH7KEwYYJll3zvPXPVDBtmLp18irlrgvhvySTTK7voO05lyOLeGQzM\nT6wviMqaISL1wAjgoZbsKyITRKRRRBqbmpqytHuzQtWidg46KB50dMwxZnVfeqmtB8EvxOrV8N3v\n2verr47j8ZNsae6a1pCcPctF33EqQ7k7ck8G7lbVjSVrJlDVSaraoKoNAzoiaLyN/Pvf8Mor5toJ\nbLedpVwIo2xLEeaLDfVVY+HfUt01LSXp3nGfvuNUhiyivxBIZEBnSFRWiJPJdd20ZN8tlt//3nz1\nn/lMbvnxx9uyZ8/WHVfVBL9SSc82N4J7Z+NGc3u5pe845SeL6E8DRovICBHpggn71PxKIrIL0Ad4\nKlF8P3CEiPSJOnCPiMqqinvugYMPNus+yYknmo/+q19tvdW6JcXat5Xg3vEMm45TOUp25KrqBhE5\nFxPrOuAWVZ0hIhOBRlUND4CTgTtV40QBqrpURL6PPTgAJoZO3WrhlVfs86UvNd+2446weLF9HzXK\nQjHnzYsHYCU7dNPYkmLt20pw7xSbQMVxnLaRKeGaqt4H3JdXdnHe+qUp+94C3NLK9m323HOPLT/9\n6ebbpkyJhX7YsOZJ0LbbziY4T6MWOm+TBPeOW/qOUzl8RG4buecemwlrcF5MUpa5as86K/24tdJ5\nm8TdO45TeVz028Ds2ZZXJ78DF7LNVXviibYMAUudOsHkyfaQqJXO2yTBveOi7ziVw/Ppt4F777Vl\nIdHPMldtSK/8ox/ZyNznnqs9oU/So4eNNA5hq+7Td5zy45Z+Aa6/Hk47LX17yID5jW9Aly7xhOdJ\nssxVm8ypXyqtci0QLPt3381ddxynfLjoF+Dhh+H222HFiubbkr56sJG2p51mA6lCCmQoPM1hfsds\nMqe+i36cXtlF33Eqh4t+AVasMDfDU08131bIVx+CVJOdtVmSoCVz6i9dmp4iuVbIt/TdveM45cdF\nvwDBwn/88dzyZcsKJ0JLkuysLZQRM5/eve18bunHov/OO7nrjuOUDxf9AqSJ/mWXZdu/JaNoe/e2\nAVwrVrjou3vHcSqPi34Bgug/80w85eGmTRaTv9depd0OLRlF27s3vPmmfa910U+6d0Sga9eObY/j\nVCMu+gVYsQJGj4Y1a+DZZ61s2jTLhHneebGvHpqnQBYxF1CyU7cYvXtbvD+46CdFv0eP5r+t4zht\nx0U/jzVrLCLnmGNsPbh47rkHttoKjjsu9tWrwm235T4ACnXqFqN3bzsnuOgH905Tk7t2HKdSuOjn\nEeasHT0adtrJpjpUNdE/7LA4tj4QHgD19bHgB/JH4BYiebxaF/0g9Bs2uOg7TqVw0c8j+PN79YID\nD4QnnrBUC7NnFx55G8gyArcQSdH3kM34u4drOk5lcNHPI1/0ly61AVUiFr3TqVNhf32WEbiF6NUr\n/l7rln6XLtA5Sgzilr7jVAYX/TzyRR/MtSNiHblpGTOzjMAtRLD0RXIfALWISCz2LvqOUxlc9PNI\niv6oUfFsWJs25dbL99dnGYFbiCD6ffrYW0StE8Te3TuOUxlcZvJIir5IbO0XIt9fn2UEbj5B9Gvd\ntRMIETxu6TtOZXDRzyMp+gDf+U66IJdjKkMX/VzcveM4lcVFP48g+ttua8u99oLrrmudvz4LQfRr\nPXIn4O4dx6ksLvp5rFhhgl9XF5e11l+fBbf0c3H3juNUlkyiLyJjRWSmiMwSkQtT6pwkIi+LyAwR\nuT1RvlFEno8+U8vV8EqxYkXzAVjQOn99Fnr2tKWLvuHuHcepLCWnSxSROuAG4JPAAmCaiExV1ZcT\ndUYD3wYOUNVlIrJd4hAfqOoeZW53xVixon1DJ+vq4Gtfg2OPbb9zbs646DtOZcli6Y8BZqnqbFVd\nB9wJnJBX5yzgBlVdBqCq75a3me1HUvTDtIhpA7LKxVVXwaGHVubYWxrBveM+fcepDFlEfzAwP7G+\nICpLshOwk4g8ISJPi8jYxLZuItIYlX+q0AlEZEJUp7GpqalFF1Buli830U9Oi5g2IMspP27pO05l\nKVdHbmdgNHAoMA74pYgEz3i9qjYApwDXiMjI/J1VdZKqNqhqw4ABA8rUpNYRLP1C0yJmSaDmtA0X\nfcepLFlEfyEwNLE+JCpLsgCYqqrrVfVN4DXsIYCqLoyWs4FHgI+1sc0VJYh+axOoOW3D3TuOU1my\niP40YLSIjBCRLsDJQH4Uzh8xKx8R6Y+5e2aLSB8R6ZooPwB4mc0U1Vj0W5tAzWkbbuk7TmUpKfqq\nugE4F7gfeAX4narOEJGJInJ8VO1+YImIvAw8DHxDVZcAuwKNIvJCVH5FMupnc2PNGli/3kS/tQnU\nnLbhou84laVkyCaAqt4H3JdXdnHiuwJfjT7JOk8CH2l7M9uHZAqGEId/0UXm0hk2zAS/XPH5TmHG\njIH997dkd47jlB/R/OmeOpiGhgZtbGzskHPPnAm77GIpEZYudaF3HGfLQUSmR0EzRclk6dcKd91l\nyyVLbBnCNMGF33Gc6sBz7yS44YbmZR6m6ThONVGzor9+Pfz73+bGCbybMo7YwzQdx6kWak70r70W\nGhosHnz33eHzn4+3VTJvvuM4zuZATYn+hg02KcqqVfCVr1ikyEsvxdvHjm2+j4dpOo5TTdSU6L/0\nkvnoL74YrrwSDjvMOms3bLDtI0davvxhw8qfN99xHGdzoKaid555xpb77GPLkSNN8OfPhxEj4glU\n5s7tuDY6juNUkpqy9J95Bvr3hx13tPWRUeq3N96wZXvn0nccx2lvak70x4wx1w246DuOU3vUjOiv\nWAGvvAL77huXDR4MXbu66DuOUzvUjOhPm2ZZNIM/H2xGrBEjXPQdx6kdakb0QyfumDG55SNHuug7\njlM71JTo77wz9O6dW77jjib6yVz6juM41UpNiL6qiX7Snx8YOdIGazU1ueg7jlP91IToz51reXWS\n/vxAiOCZMSOeQMVxHKdaqQnRf/ppWxYT/c98xpZXXQVTprRPuxzHcdqbmhD9Z56Bbt3gIwXm8AoP\nhGXLbLl0qeXQd+F3HKcaqRnRb2iArbZqvu2yy5qXeQ59x3GqlaoX/ffeg+nTYb/9Cm9Py5XvOfQd\nx6lGql70//53WLcOjj228Pa0XPmeQ99xnGokk+iLyFgRmSkis0TkwpQ6J4nIyyIyQ0RuT5SfLiKv\nR5/Ty9XwrEydapOj7L9/4e2XX97c7eM59B3HqVZKir6I1AE3AEcBuwHjRGS3vDqjgW8DB6jqh4Dz\no/K+wCXAPsAY4BIR6VPWKyjChg3wl7/AMcdA55Qk0uPHw9lnx+tDh3oOfcdxqpcslv4YYJaqzlbV\ndcCdwAl5dc4CblDVZQCqGmabPRJ4QFWXRtseAArMT1UZnnoKliyB444rXu/06P1DBObMccF3HKd6\nySL6g4H5ifUFUVmSnYCdROQJEXlaRMa2YF9EZIKINIpIY1NTU/bWl2DqVHPdHHlk8Xohv/6221oS\nNsdxnGqlXBLXGRgNHAqMA34pIr2L7pFAVSepaoOqNgwYMKBMTTLR//jHoWfP4vX69rWcPD4a13Gc\naieL6C8EhibWh0RlSRYAU1V1vaq+CbyGPQSy7FsRZs6E116D44/PVn/kSBd9x3GqnyyiPw0YLSIj\nRKQLcDIwNa/OHzErHxHpj7l7ZgP3A0eISJ+oA/eIqKziTI1aWMqfHzj7bPjc5yrXHsdxnM2BkhOj\nq+oGETkXE+s64BZVnSEiE4FGVZ1KLO4vAxuBb6jqEgAR+T724ACYqKpLK3Eh+UydCnvskT3e/qyz\nKtsex3GczQFR1Y5uQw4NDQ3a2NjYpmPMmgU77QQXXwyXXlqedjmO42zOiMh0VW0oVa8qY1Wuugq6\ndMmNv3ccx3GqUPTffht+/Ws44wwYNCi93pQpMHy4hWgOH+5ZNR3HqQ1K+vS3NK65xkbifuMb6XWm\nTLH0yatX2/rcubYOPjDLcZzqpqos/eXL4cYb4aST4slRCnHRRbHgBzydsuM4tUBVif7Pf26plL/1\nreL1PJ2y4zi1StWI/gcfmGvnqKMsVLMYnk7ZcZxapWpEf+lS2HtvuLBg4udcLr/c0icn8XTKjuPU\nAlXTkTt4sKVRzkLorL3oInPpDBtmgu+duI7jVDtVI/pZmDLFhd5xnNqmZkTfwzQdx3GqyKdfCg/T\ndBzHqSHR9zBNx3GcGhJ9D9N0HMepIdH3ME3HcZwaEv3x42HSJKivtwnQ6+tt3TtxHcepJWomegdM\n4F3kHcepZWrG0nccx3Fc9B3HcWoKF33HcZwawkXfcRynhnDRdxzHqSEyib6IjBWRmSIyS0SaJS8W\nkTNEpElEno8+X0hs25gon1rOxmfB58J1HMeJKRmyKSJ1wA3AJ4EFwDQRmaqqL+dVvUtVzy1wiA9U\ntcS0JpXBk6w5juPkksXSHwPMUtXZqroOuBM4obLNKg+eZM1xHCeXLKI/GJifWF8QleXzGRF5UUTu\nFpGhifJuItIoIk+LyKcKnUBEJkR1GpuamrK3vgSeZM1xHCeXcnXk/h8wXFV3Bx4AfpPYVq+qDcAp\nwDUiMjJ/Z1WdpKoNqtowYMCAMjXJk6w5juPkk0X0FwJJy31IVPYfVHWJqq6NVm8G9kpsWxgtZwOP\nAB9rQ3tbhCdZcxzHySWL6E8DRovICBHpApwM5EThiMigxOrxwCtReR8R6Rp97w8cAOR3AFcMT7Lm\nOI6TS8noHVXdICLnAvcDdcAtqjpDRCYCjao6FfiKiBwPbACWAmdEu+8K/EJENmEPmCsKRP1UFE+y\n5jiOEyOq2tFtyKGhoUEbGxs7uhmO4zhbFCIyPeo/LYqPyHUcx6khqlL0fRSu4zhOYapuEhUfhes4\njpNO1Vn6PgrXcRwnnaoTfR+F6ziOk07Vib6PwnUcx0mn6kTfR+E6juOkU3Wi76NwHcdx0qm66B3w\nUbiO4zhpVJ2l7ziO46Tjou84jlNDuOg7juPUEC76juM4NYSLvuM4Tg1RNaLvSdYcx3FKUxUhm55k\nzXEcJxtVYel7kjXHcZxsVIXoe5I1x3GcbFSF6HuSNcdxnGxUheh7kjXHcZxsZBJ9ERkrIjNFZJaI\nXFhg+xki0iQiz0efLyS2nS4ir0ef08vZ+IAnWXMcx8mGqGrxCiJ1wGvAJ4EFwDRgnKq+nKhzBtCg\nqufm7dsXaAQaAAWmA3up6rK08zU0NGhjY2OrLsZxHKdWEZHpqtpQql4WS38MMEtVZ6vqOuBO4ISM\n7TgSeEBVl0ZC/wAwNuO+juM4TpnJIvqDgfmJ9QVRWT6fEZEXReRuERnakn1FZIKINIpIY1NTU8am\nO47jOC2lXB25/wcMV9XdMWv+Ny3ZWVUnqWqDqjYMGDCgTE1yHMdx8ski+guBoYn1IVHZf1DVJaq6\nNlq9Gdgr676O4zhO+5FF9KcBo0VkhIh0AU4GpiYriMigxOrxwCvR9/uBI0Skj4j0AY6IyhzHcZwO\noGTuHVXdICLnYmJdB9yiqjNEZCLQqKpTga+IyPHABmApcEa071IR+T724ACYqKpLi51v+vTpi0Vk\nbquvCPoDi9uw/5ZILV4z1OZ11+I1Q21ed0uvuT5LpZIhm1saItKYJWypmqjFa4bavO5avGaozeuu\n1DVXxYhcx3EcJxsu+o7jODVENYr+pI5uQAdQi9cMtXndtXjNUJvXXZFrrjqfvuM4jpNONVr6juM4\nTgou+o7jODVE1Yh+qfTP1YKIDBWRh0XkZRGZISLnReV9ReSBKIX1A9FguKpCROpE5DkR+XO0PkJE\nnonu+V3R4MGqQkR6R/msXhWRV0Rkv2q/1yJyQfS3/ZKI3CEi3arxXovILSLyroi8lCgreG/FuC66\n/hdFZM/WnrcqRD9K/3wDcBSwGzBORHbr2FZVjA3A11R1N2Bf4JzoWi8E/qGqo4F/ROvVxnnEo70B\nfgRcraqjgGXAmR3SqspyLfA3Vd0F+Ch2/VV7r0VkMPAVLFX7h7EBoSdTnff6VppnHU67t0cBo6PP\nBODG1p60KkSftqV/3qJQ1bdV9dno+3uYCAzGrjckuvsN8KmOaWFlEJEhwDFYbidERIBPAHdHVarx\nmnsBBwO/AlDVdaq6nCq/11imgK1FpDPQHXibKrzXqvpPLINBkrR7ewLwWzWeBnrnpb/JTLWIftb0\nz1WFiAwHPgY8A2yvqm9HmxYB23dQsyrFNcA3gU3Rej9guapuiNar8Z6PAJqAX0durZtFpAdVfK9V\ndSFwFTAPE/sV2ORL1X6vA2n3tmwaVy2iX3OIyDbAPcD5qroyuU0tDrdqYnFF5FjgXVWd3tFtaWc6\nA3sCN6rqx4D3yXPlVOG97oNZtSOAHYAe1OjES5W6t9Ui+jWVwllEtsIEf4qq3hsVvxNe96Llux3V\nvgpwAHC8iMzBXHefwHzdvSMXAFTnPV8ALFDVZ6L1u7GHQDXf68OBN1W1SVXXA/di97/a73Ug7d6W\nTeOqRfRLpn+uFiJf9q+AV1T1p4lNU4Ew8fzpwJ/au22VQlW/rapDVHU4dm8fUtXxwMPAZ6NqVXXN\nAKq6CJgvIjtHRYcBL1PF9xpz6+wrIt2jv/VwzVV9rxOk3dupwP9EUTz7AisSbqCWoapV8QGOxiZw\nfwO4qKPbU8HrPBB75XsReD76HI35uP8BvA48CPTt6LZW6PoPBf4cfd8R+BcwC/g90LWj21eB690D\naIzu9x+BPtV+r4HLgFeBl4DbgK7VeK+BO7B+i/XYW92ZafcWECxC8Q3g31h0U6vO62kYHMdxaohq\nce84juM4GXDRdxzHqSFc9B3HcWoIF33HcZwawkXfcRynhnDRdxzHqSFc9B3HcWqI/w/YalBUFrAk\ntAAAAABJRU5ErkJggg==\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\ns7MTc+Tl5WHPnj0YOHDg2bzzPn36oHv37vj4448rfT4vLw/dunUDwGV3x44di6ysLIwZMwYnTRMC\n3HXXXWfLBf/pT38CwJUc9+zZg0svvRSXXnopACAzMxOHDh0CADz99NPo1q0bunXrdrZccF5eHrKy\nsjBhwgR07doVw4YN8/oef9gds7i4GFdcccXZEsDvvfceAGDy5Mno0qULevToUanGfTCQPHch7EhY\nJjL89rdAsCcY6tUL8GiYLU2aNEHfvn3x+eefY/To0Zg1axauv/56EBFSUlIwd+5cNGjQAIcOHUL/\n/v1x9dVXO84d+vLLLyM1NRWbNm3CunXr0KdPn7PvTZs2DU2aNEF5eTmGDh2KdevW4b777sPTTz+N\nr776Cunp6V7HWrVqFd58800sW7YMSin069cPgwYNQuPGjbFt2zbMnDkTr732Gq6//np88MEHZytC\n+sLpmDt27EDz5s3x2WefAeCyxYWFhZg7dy42b94MIgpKqMiKOHch7Ihzr12YQzPmkIxSCo888gh6\n9OiByy67DLt378b+/fsdj7NkyZKzItujRw/06NHj7HuzZ89Gnz590Lt3b2zYsMFvUbBvvvkGY8aM\nQd26dVGvXj1cc801WLp0KQCgTZs26NWrFwDfZYXdHrN79+5YsGABHn74YSxduhQNGzZEw4YNkZKS\ngttvvx0ffvghUq0V24KAOHch7Ihzjwy+HHYoGT16NO6//36sXr0aJSUlOP/88wEAubm5OHjwIFat\nWoXExERkZmbalvn1xy+//IKnnnoKK1asQOPGjTF+/PgqHUejywUDXDI4kLCMHR07dsTq1asxb948\nPProoxg6dCj++Mc/Yvny5Vi4cCHmzJmDF198EYsWLarW91gR5y6EHXHutYt69erh0ksvxW233ebV\nkXr06FGcc845SExMxFdffYX8/Hyfx7nkkkvw7rvvAgDWr1+PdevWAeBywXXr1kXDhg2xf/9+fP75\n52c/U79+fRw/frzSsQYOHIiPPvoIJSUlKC4uxty5czFw4MBqnafTMffs2YPU1FTceOONeOihh7B6\n9WqcOHECR48exahRo/DMM89g7dq11fpuO8S5C2FHnHvtY9y4cRgzZoxX5kxOTg6uuuoqdO/eHdnZ\n2ejcubPPY9x111249dZbkZWVhaysrLNPAD179kTv3r3RuXNntGrVyqtc8MSJEzFixAg0b94cX331\n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\n/weLsTdAExFnzgAAAABJRU5ErkJggg==\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    }
  ]
}